aboutsummaryrefslogtreecommitdiff
path: root/CMakeModules/DownloadExternals.cmake
Commit message (Collapse)AuthorAgeFilesLines
* [cmake, tools] update CPMUtil and add support for CPMUtil bundled Qt, module ↵crueter2026-01-141-271/+0
| | | | | | | | | | | | | | | | updates, cleanups (#3289) Support for bundled Qt, not through aqtinstall but rather my CI. Multimedia is implemented too, works on both Windows and Linux, though we don't actually use it so it doesn't really matter. Contains Declarative and all that so the Quick frontend will work once it becomes a thing. Some options have changed, notably w.r.t LTO and faster linker, which are now handled directly in the modules. CPMUtil also has support for custom dirs (`PackageName_CUSTOM_DIR`) now. Probably most useful for adding external fragment shaders and whatnot. Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3289
* CMake improvements: ccache, bundled Qt, MoltenVK, LTO, and Linux deps (#2622)Caio Oliveira2025-09-301-63/+82
| | | | | | | | | | | | | | | - Fix YUZU_USE_BUNDLED_QT on Linux (correct path is gcc_64 for Qt 6.8.3). - Implement USE_CCACHE correctly (additional changes on #2580). - Categorize and organize CMake options for clarity. - Add missing Linux dependencies - Set CMP0069 (LTO) default behavior to NEW to reduce warnings. - Replace USE_SYSTEM_MOLTENVK with YUZU_APPLE_USE_BUNDLED_MONTENVK and remove duplicate download_moltenvk. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2622 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Co-committed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
* [cmake] feat: FFmpeg CI, allow 16kb android builds, update translations for ↵crueter2025-09-231-9/+0
| | | | | | | | | | | | | | | | transifex (#2543) Uses an FFmpeg CI for Android and Windows, also available for Linux. Saves compile time on Linux and is more consistent on Windows/Android. Also, updates VVL and FFmpeg to allow for a fully 16kb-compliant Android build. Bonus: APK size is down 30% Updated all localization files for Transifex while I was at it TODO for future: Android 8.0 with vp9_vulkan et al. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2543 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: Lizzie <lizzie@eden-emu.dev>
* [cmake] enable clang-cl and WoA builds (#348)lizzie2025-09-091-3/+10
| | | | | | | | | | | | | | Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64. Compiling on clang is *dramatically* faster so this should be useful for CI. Co-authored-by: crueter <crueter@eden-emu.dev> Co-authored-by: crueter <crueter@crueter.xyz> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/348 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [cmake] refactor: cpmfile, deps prefetch, force system and more (#322)crueter2025-08-291-0/+1
| | | | | | | | | | | | CPM Dependencies are now managed in a singular json file, where each can be properly prefetched at-will via `tools/cpm-fetch.sh <packages...>`, or all at once via `tools/cpm-fetch-all.sh`. Adds docs for CPMUtil as well. Also adds `<package>_FORCE_{BUNDLED,SYSTEM}` overrides Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/322 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
* [cmake] refactor: SDL2 CI and CPMUtil::AddCIPackage (#284)crueter2025-08-231-3/+0
| | | | | | | | | | | | Replaces bundled SDL2 with my SDL2 CI, and updates external SDL2 Additionally, reduces all that boilerplate with a common AddCIPackage in CPMUtil.cmake, currently used by OpenSSL and SDL2. To be used with ffmpeg in the future Signed-off-by: crueter <crueter@crueter.xyz> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/284 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
* [cmake] refactor: CPM over vcpkg (#250)crueter2025-08-141-0/+1
| | | | | | | | | Completely replaces vcpkg with CPM for all "system" dependencies. Primarily needed for Android and Windows. Also uses my OpenSSL CI for those two platforms. In theory, improves configure and build time by a LOT and makes things much easier to manage Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/250 Reviewed-by: Lizzie <lizzie@eden-emu.dev>
* [cmake, frontend] feat: CPMUtil + dependency viewer (#238)crueter2025-08-111-7/+7
| | | | | | | | - creates a CPMUtil.cmake module that makes my job 10x easier and removes boilerplate - also lets us generate dependency names/versions at compiletime, thus letting the frontend display each dependency's versions. Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/238
* [cmake] refactor: Use CPM over submodules (#143)crueter2025-08-041-30/+46
| | | | | | | | | Transfers the majority of submodules and large externals to CPM, using source archives rather than full Git clones. Not only does this save massive amounts of clone and configure time, but dependencies are grabbed on-demand rather than being required by default. Additionally, CPM will (generally) automatically search for system dependencies, though certain dependencies have options to control this. Testing shows gains ranging from 5x to 10x in terms of overall clone/configure time. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/143 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
* [android] Better error handling for username collision/validity (#76)crueter2025-07-181-1/+1
| | | | | | | | also removed the generate button from sw keyboard Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/76
* [cmake] QuaZip: The Finale (#74)crueter2025-07-171-1/+1
| | | | | Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/74
* [cmake] Fix QuaZip once and for all (#71)crueter2025-07-161-3/+17
| | | | | | | | (and core5compat) Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/71
* fixcrueter2025-07-061-1/+1
| | | | Signed-off-by: crueter <swurl@swurl.xyz>
* [cmake] Update URL to new repoBix2025-07-051-1/+1
|
* Fix License headers & CI (#168)crueter2025-06-091-1/+1
| | | | | | | Signed-off-by: crueter <swurl@swurl.xyz> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/168 Co-authored-by: crueter <swurl@swurl.xyz> Co-committed-by: crueter <swurl@swurl.xyz>
* Added the public lobby to android. (#125)Aleksandr Popovich2025-06-051-1/+1
| | | | | | | | | | | | | | | | | | | This is adapted from kleidis old PR to Azahar. Changes from it: - Fixed inconsistent button styling in the dialog for connection - Allowed to hide both empty and full rooms. - Proper serving of preferred games - Enables web service for android by default - Better implementation of multiplayer.cpp that works with oop Also fixes the room network class and turns it into a static namespace in network Signed-off-by: Aleksandr Popovich <alekpopo@pm.me> Co-authored-by: swurl <swurl@swurl.xyz> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/125 Co-authored-by: Aleksandr Popovich <alekpopo@pm.me> Co-committed-by: Aleksandr Popovich <alekpopo@pm.me>
* Improves Externals, CI, CMake and Qt handlingMaranBr2025-05-201-2/+2
|
* Update Qt to 6.8.3 and fixes dark mode being forced automatically even when ↵MaranBr2025-05-131-7/+6
| | | | light theme is set in app settings
* Update CMake files to download dependencies / binaries from self-hosted git ↵MaranBr2025-05-131-3/+3
| | | | repository
* qt: 6.7.3 ImplementationBriar2025-04-041-3/+173
| | | | Co-authored-by: Kleidis <167202775+kleidis@users.noreply.github.com>
* externals: Update to working archivesBriar2025-04-011-1/+1
|
* Add macos moltenvk bundle, Add copy moltevk dylib scriptFeng Chen2023-08-221-0/+18
|
* android: Use ext-android-bin for external binaries.bunnei2023-06-031-2/+1
|
* cmake: download architecture-specific ffmpeg for androidLiam2023-06-031-1/+1
|
* cmake: Integrate bundled FFmpeg for Android.bunnei2023-06-031-1/+6
|
* chore: make yuzu REUSE compliantAndrea Pappacoda2022-07-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to b2eb10382941bef0914f4a0a4685b9033440aa9f
* cmake: Download Boost if inadequate local versionlat9nq2021-04-221-4/+18
| | | | | | | | | | | | | | Building SDL2 from externals is incompatible with Conan's version of libiconv, a requirement of Conan's Boost package. Solution is to use the same Boost package in use by the linux-fresh container. This tells CMake to download boost_1_75_0.tar.xz from yuzu-emu/ext-linux-bin at CMake's configuration step, much the same way Qt and FFmpeg are downloaded for Windows. Also makes DownloadExternals.cmake cross-platform. Although the CMake code is not entirely specific to Linux, only Linux has Boost libraries available at ext-linux-bin, whereas there is no equivalent Boost package for Windows at ext-windows-bin. caveat emptor
* DownloadExternals: Use yuzu repo.bunnei2018-01-041-1/+1
|
* Build: Enable SSL in mingw by linking against WinSSLJames Rowe2017-09-111-0/+18
The mingw builds aren't submitting telemetry because the curl library they are linked against is configured to use openSSL and openSSL looks for the certificates in the users home folder. This keeps it from contacting web services because it can't communicate over SSL. This commit adds a download in mingw builds that will download a precompiled curl for mingw linked against winssl and sspi.