aboutsummaryrefslogtreecommitdiffhomepage
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
2023-02-28cmake: support components in find modulesAlexandre Bouvier
2023-02-28externals: use openssl from vcpkgAlexandre Bouvier
2023-02-27Merge pull request #9844 from abouvier/jwt-fixliamwhite
cmake: fix cpp-jwt build
2023-02-27Partially apply LTO to only core and video_core projects.Matías Locatti
2023-02-22cmake: fix cpp-jwt buildAlexandre Bouvier
2023-02-21externals: Update cpp-httplib to latestAlexandre Bouvier
2023-01-29cmake: Download clang format 15german77
2023-01-23cmake: prefer system llvm libraryAlexandre Bouvier
2023-01-05cmake: support the standard cmake testing optionAlexandre Bouvier
2023-01-05tests: update catch2 to 3.0.1Alexandre Bouvier
2023-01-02cmake: move find-modules to root cmake dirAlexandre Bouvier
2023-01-02Merge pull request #9541 from abouvier/cmake-optionliamwhite
cmake: allow options shadowing with normal variables
2023-01-02cmake: allow options shadowing with normal variablesAlexandre Bouvier
2023-01-02cmake: improve find_package failure messagesAlexandre Bouvier
2022-12-28cmake: make Vulkan-Headers external the defaultLiam
2022-12-28cmake: make libusb optionalLiam
2022-12-28cmake: ignore missing package finders for packages with submodule fallbacksLiam
2022-12-28cmake: make room server optionalLiam
2022-12-19CMakeLists: bump required Vulkan package version to 1.3.238Liam
2022-12-11Merge pull request #9419 from liamwhite/no-glMai
cmake: make OpenGL loader optional
2022-12-10cmake: make OpenGL loader optionalLiam
Co-authored-by: liushuyu <[email protected]>
2022-12-10cmake: enable faster linkers if availableLiam
2022-12-06Merge pull request #9391 from abouvier/cmake-sdlliamwhite
cmake: use sdl2 imported target
2022-12-06cmake: prefer system libusbAlexandre Bouvier
2022-12-05Merge pull request #9385 from Morph1984/dynarmic-verliamwhite
externals: Bump dynarmic to 6.4.0
2022-12-06cmake: use sdl2 imported targetAlexandre Bouvier
2022-12-05CMakeLists: Remove version specifier for lz4Lioncash
Currently the exported version of lz4 provided by vcpkg is malformed and is "unknown". This makes querying for a specific version broken. Fixes configuring CMake with the use of vcpkg.
2022-12-05externals: Bump dynarmic to 6.4.0Morph
Uses the tagged, versioned release instead.
2022-12-04cmake: prefer system librariesAlexandre Bouvier
2022-12-04externals: update dynarmic, SDL2Liam
2022-12-03Merge pull request #9300 from ameerj/pchliamwhite
CMake: Use precompiled headers to improve compile times
2022-12-01CMake: Fix FFmpeg find modulelat9nq
Uses find_package_handle_standard_args to handle the find_package call from the root CMakeLists. Removes all the unnecessary logic after the find_package and just sets it to REQUIRED.
2022-11-29CMake: Disable PCH on MSVC + Buildcache configsameerj
2022-11-29CMake: Use precompiled headersameerj
2022-11-28CMakeLists: Bump minimum required CMake version to 3.22lat9nq
2022-11-24CMake: rework for Qt6 supportKyle Kienapfel
This PR rearranges things in the CMake system to make compiling with Qt6 possible 1. Camera API has changed in Qt6, so the camera feature is disabled 2. A previous fix involving QLocale is now version gated. 3. QRegExp replaced with QRegularExpression, see #5343 4. Qt6_LOCATION option added to specify a location to search for Qt6 (see examples below) 5. windeployqt is used to copy Qt6 files into the build directory on Windows Notes for Arch Linux Arch install happened to have qt6-base qt6-declarative qt6-translations installed mkdir build && cd build cmake .. -GNinja -DYUZU_USE_BUNDLED_VCPKG=ON -DYUZU_TESTS=OFF -DENABLE_QT6=YES -DYUZU_USE_BUNDLED_QT=NO Windows (MSVC) Qt wants users to download precompiled libraries via an online installer, it is worth noting that the GPL/LGPL takes precendence over any ... In the Qt Maintenance tool, under a version, such as 6.3.1 Select "MSVC 2019 64-bit" Under Additional Libraries Qt Multimedia may be of use for Camera support For the Web Applet I had to select the following: PDF Positioning WebChannel WebEngine mkdir build && cd build cmake -G "Visual Studio 16 2019" -DQt6_LOCATION=C:/Qt/6.4.0/msvc2019_64/ \ -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=YES -DYUZU_USE_BUNDLED_QT=NO \ -DENABLE_QT_TRANSLATION=YES -DENABLE_QT6=YES .. Some numbers for reference (msvc2019_64) Qt5 (slimmed down) 508 MB Qt5.15.2 all in 929 MB Qt6.3.1 1.71 GB Qt6.3.2 1.73 GB Qt6.4.0-beta3 1.83 GB Qt6.4.0 1.67 GB
2022-11-09Initial ARM64 supportLiam
2022-11-04Qt: enable recent Linux features on more UnicesJan Beich
- Prevent sleep via xdg-desktop-portal after fa7abafa5f2a - Pause on suspend after b7642cff3611 - Exit on SIGINT/SIGTERM after 9479940a1fc7 - Improve dark themes after b51db125676f
2022-10-22CMakeLists: Disable C4100 and C4324Morph
Disabling C4100 is similar to -Wno-unused-parameter
2022-09-20cmake: Fix FindPkgConfigAlexandre Bouvier
2022-09-04vcpkg,cmake: Use vcpkg for dbghelplat9nq
2022-08-26Merge pull request #8485 from nezd5553/masterbunnei
cmake: Use compatibility list in source directory
2022-08-21Merge pull request #8676 from abouvier/no-check-subliamwhite
cmake: add option to check submodules
2022-07-30cmake: add option to check submodulesAlexandre Bouvier
2022-07-28cmake,ci: vcpkg for MSVC default, fix lz4 include, catch2, cleanuplat9nq
vcpkg: Add Catch2 2.13.9 Catch2 >= 3.0 is not compatible with earlier versions, and for now we must override the desired version in our vcpkg manifest. We can do this programmatically by using VCPKG_MANIFEST_FEATURES. CMakeLists: Search for lz4 CONFIG mode first vcpkg's lz4 CONFIG cmake script works in Release mode but not in Debug mode, failing to copy the correct DLLs at compile time. We still need to search for the regular mode for system-installed versions. CMakeLists: Clean up boost exports Remove some Conan-specific workarounds. CMakeLists: Use vcpkg for MSVC by default Not enabling it generally since it's much easier to have system dependencies installed for Linux and MinGW.
2022-07-27chore: make yuzu REUSE compliantAndrea Pappacoda
[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 01cf05bc75b1e47beb08937439f3ed9339e7b254
2022-07-23yuzu: Hook qt camera to camera drivergerman77
2022-07-23Merge pull request #8584 from Morph1984/qt5-cleanupbunnei
CMakeLists: Require QtConcurrent, and remove unused dlls
2022-07-22ci,CMake: Integrate vcpkg into CMakeListslat9nq
Uses manifest mode if the bundled vcpkg is used.
2022-07-22ci,CMake: Drop Conan support for vcpkglat9nq
Between packages breaking, Conan always being a moving target for minimum required CMake support, and now their moves to Conan 2.0 causing existing packages to break, I suppose this was a long time coming. vcpkg isn't without its drawbacks, but at the moment it seems easier on the project to use for external packages. Mostly removes the logic for Conan from the root CMakeLists file, leaving basic find_package()'s in its place. Sets only the find_package()'s that require CONFIG mode as necessary. clang and linux CI now use the vcpkg toolchain file configured in the Docker container when possible. mingw CI turns off YUZU_TESTS because there's no way on the container to run Windows executables on a Linux host anyway, and it's not easy to get Catch2 there.