Commit Graph

388 Commits (79e32127b3897424015b3f6842c87ea81e37efb1)

Author SHA1 Message Date
Jan Beich 083d913eab externals: update Vulkan-Headers to v1.3.246
Morph c4f5615c6b CMakeLists: Require a minimum of boost 1.79.0
Morph 877e8991c7 CMakeLists: Update boost to 1.81.0
Liam 600f325d87 general: fix spelling mistakes
Morph 3453beb1e0 general: Target Windows 10 SDK
We no longer support operating systems below Windows 10.
liamwhite 1346b14bef
Merge pull request from abouvier/cmake-boost
cmake: use correct boost imported targets
Alexandre Bouvier 57fd8b1f45 cmake: use correct boost imported targets
Alexandre Bouvier 7b8a5413ad cmake: support components in find modules
Alexandre Bouvier 0245c5dc49 externals: use openssl from vcpkg
liamwhite a78a475815
Merge pull request from abouvier/jwt-fix
cmake: fix cpp-jwt build
Matías Locatti c38bb96a2c Partially apply LTO to only core and video_core projects.
Alexandre Bouvier 2bf9602e83 cmake: fix cpp-jwt build
Alexandre Bouvier 83afc12475 externals: Update cpp-httplib to latest
german77 fb425159b1 cmake: Download clang format 15
Alexandre Bouvier 34b1ea9c19 cmake: prefer system llvm library
Alexandre Bouvier 7a2bd13f5b cmake: support the standard cmake testing option
Alexandre Bouvier d0fe27708e tests: update catch2 to 3.0.1
Alexandre Bouvier eceee8c3d9 cmake: move find-modules to root cmake dir
liamwhite 2b110d61e7
Merge pull request from abouvier/cmake-option
cmake: allow options shadowing with normal variables
Alexandre Bouvier 306c791e67 cmake: allow options shadowing with normal variables
Alexandre Bouvier 1dfcf19c36 cmake: improve find_package failure messages
Liam 9ce23bde24 cmake: make Vulkan-Headers external the default
Liam be43b62d79 cmake: make libusb optional
Liam 3c2aa183a1 cmake: ignore missing package finders for packages with submodule fallbacks
Liam 106cf27135 cmake: make room server optional
Liam 9f199c8b0b CMakeLists: bump required Vulkan package version to 1.3.238
Mai 0c531ff911
Merge pull request from liamwhite/no-gl
cmake: make OpenGL loader optional
Liam 8d1d6e149f cmake: make OpenGL loader optional
Co-authored-by: liushuyu <liushuyu@users.noreply.github.com>
Liam 1085bbb0a3 cmake: enable faster linkers if available
liamwhite a225ba4cda
Merge pull request from abouvier/cmake-sdl
cmake: use sdl2 imported target
Alexandre Bouvier f385175aa2 cmake: prefer system libusb
liamwhite 7c68f93bdf
Merge pull request from Morph1984/dynarmic-ver
externals: Bump dynarmic to 6.4.0
Alexandre Bouvier e6ae720c33 cmake: use sdl2 imported target
Lioncash 78eeefb030 CMakeLists: Remove version specifier for lz4
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.
Morph 7381f873e9 externals: Bump dynarmic to 6.4.0
Uses the tagged, versioned release instead.
Alexandre Bouvier 8e17b5469f cmake: prefer system libraries
Liam 6d2c597371 externals: update dynarmic, SDL2
liamwhite 75e16547f8
Merge pull request from ameerj/pch
CMake: Use precompiled headers to improve compile times
lat9nq 5ff19890e9 CMake: Fix FFmpeg find module
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.
ameerj 51358d2b5e CMake: Disable PCH on MSVC + Buildcache configs
ameerj 37bc5118ea CMake: Use precompiled headers
lat9nq 47b133c0b8 CMakeLists: Bump minimum required CMake version to 3.22
Kyle Kienapfel a75542ad2d CMake: rework for Qt6 support
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 
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
Liam cbaf642ffe Initial ARM64 support
Jan Beich d7d7ae8219 Qt: enable recent Linux features on more Unices
- Prevent sleep via xdg-desktop-portal after fa7abafa5f
- Pause on suspend after b7642cff36
- Exit on SIGINT/SIGTERM after 9479940a1f
- Improve dark themes after b51db12567
Morph 3822e31323 CMakeLists: Disable C4100 and C4324
Disabling C4100 is similar to -Wno-unused-parameter
Alexandre Bouvier 09a87966e0 cmake: Fix FindPkgConfig
lat9nq c976613ab2 vcpkg,cmake: Use vcpkg for dbghelp
bunnei 4b96f9864e
Merge pull request from nezd5553/master
cmake: Use compatibility list in source directory
liamwhite 3701255e4f
Merge pull request from abouvier/no-check-sub
cmake: add option to check submodules