Commit Graph

394 Commits

Author SHA1 Message Date
Morph f62f43c0da CMakeLists: Force C++20 on MSVC due to conflicts with C++23 modules
The latest version of MSVC STL brings C++23 standard library modules, which conflict with precompiled headers.
Disabling with /experimental:module- has no effect, so force C++20 in the meantime while we wait for module support in other compilers.
2023-06-06 20:20:09 -04:00
bunnei 296ccb698d android: cmake: Use cmake_dependent_option as appropriate. 2023-06-03 00:14:33 -07:00
Liam 616cf70a80 build: only enable adrenotools on arm64 2023-06-03 00:05:43 -07:00
liushuyu 19eec22b38 CMake: fix pkg-config behavior when building for Android 2023-06-03 00:05:33 -07:00
bunnei 5de8ee7bba cmake: Integrate submoduled LLVM & fixes for Android. 2023-06-03 00:05:26 -07:00
Danila Malyutin 7701a00a02 Add support for deinterlaced videos playback
This is a follow up to #10254 to improve the playback of cut scenes in Layton's Mystery Journey.
It uses ffmpeg's yadif filter for deinterlacing.
2023-05-22 01:43:44 +04:00
Jan Beich 083d913eab externals: update Vulkan-Headers to v1.3.246 2023-04-01 05:38:54 +00:00
Morph c4f5615c6b CMakeLists: Require a minimum of boost 1.79.0 2023-03-25 23:03:28 -04:00
Morph 877e8991c7 CMakeLists: Update boost to 1.81.0 2023-03-23 20:53:39 -04:00
Liam 600f325d87 general: fix spelling mistakes 2023-03-12 11:33:01 -04:00
Morph 3453beb1e0 general: Target Windows 10 SDK
We no longer support operating systems below Windows 10.
2023-03-05 02:36:31 -05:00
liamwhite 1346b14bef
Merge pull request #9877 from abouvier/cmake-boost
cmake: use correct boost imported targets
2023-02-28 18:40:44 -05:00
Alexandre Bouvier 57fd8b1f45 cmake: use correct boost imported targets 2023-02-28 17:56:01 +01:00
Alexandre Bouvier 7b8a5413ad cmake: support components in find modules 2023-02-28 17:46:20 +01:00
Alexandre Bouvier 0245c5dc49 externals: use openssl from vcpkg 2023-02-28 06:39:54 +01:00
liamwhite a78a475815
Merge pull request #9844 from abouvier/jwt-fix
cmake: fix cpp-jwt build
2023-02-27 19:46:19 -05:00
Matías Locatti c38bb96a2c Partially apply LTO to only core and video_core projects. 2023-02-27 18:44:14 -03:00
Alexandre Bouvier 2bf9602e83 cmake: fix cpp-jwt build 2023-02-22 01:13:35 +01:00
Alexandre Bouvier 83afc12475 externals: Update cpp-httplib to latest 2023-02-21 20:55:37 +01:00
german77 fb425159b1 cmake: Download clang format 15 2023-01-29 19:57:40 -06:00
Alexandre Bouvier 34b1ea9c19 cmake: prefer system llvm library 2023-01-23 06:23:00 +01:00
Alexandre Bouvier 7a2bd13f5b cmake: support the standard cmake testing option 2023-01-05 05:03:34 +01:00
Alexandre Bouvier d0fe27708e tests: update catch2 to 3.0.1 2023-01-05 04:58:31 +01:00
Alexandre Bouvier eceee8c3d9 cmake: move find-modules to root cmake dir 2023-01-02 18:22:07 +01:00
liamwhite 2b110d61e7
Merge pull request #9541 from abouvier/cmake-option
cmake: allow options shadowing with normal variables
2023-01-02 11:29:32 -05:00
Alexandre Bouvier 306c791e67 cmake: allow options shadowing with normal variables 2023-01-02 02:43:38 +01:00
Alexandre Bouvier 1dfcf19c36 cmake: improve find_package failure messages 2023-01-02 02:27:25 +01:00
Liam 9ce23bde24 cmake: make Vulkan-Headers external the default 2022-12-28 20:55:32 -05:00
Liam be43b62d79 cmake: make libusb optional 2022-12-28 17:26:46 -05:00
Liam 3c2aa183a1 cmake: ignore missing package finders for packages with submodule fallbacks 2022-12-28 17:21:31 -05:00
Liam 106cf27135 cmake: make room server optional 2022-12-28 17:18:27 -05:00
Liam 9f199c8b0b CMakeLists: bump required Vulkan package version to 1.3.238 2022-12-19 21:57:46 -05:00
Mai 0c531ff911
Merge pull request #9419 from liamwhite/no-gl
cmake: make OpenGL loader optional
2022-12-11 21:09:52 +00:00
Liam 8d1d6e149f cmake: make OpenGL loader optional
Co-authored-by: liushuyu <liushuyu@users.noreply.github.com>
2022-12-10 15:12:27 -05:00
Liam 1085bbb0a3 cmake: enable faster linkers if available 2022-12-10 15:04:25 -05:00
liamwhite a225ba4cda
Merge pull request #9391 from abouvier/cmake-sdl
cmake: use sdl2 imported target
2022-12-06 09:58:48 -05:00
Alexandre Bouvier f385175aa2 cmake: prefer system libusb 2022-12-06 05:30:40 +01:00
liamwhite 7c68f93bdf
Merge pull request #9385 from Morph1984/dynarmic-ver
externals: Bump dynarmic to 6.4.0
2022-12-05 22:17:45 -05:00
Alexandre Bouvier e6ae720c33 cmake: use sdl2 imported target 2022-12-06 01:26:30 +01:00
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.
2022-12-05 16:56:45 -05:00
Morph 7381f873e9 externals: Bump dynarmic to 6.4.0
Uses the tagged, versioned release instead.
2022-12-05 13:08:00 -05:00
Alexandre Bouvier 8e17b5469f cmake: prefer system libraries 2022-12-04 17:09:25 +01:00
Liam 6d2c597371 externals: update dynarmic, SDL2 2022-12-04 10:12:26 -05:00
liamwhite 75e16547f8
Merge pull request #9300 from ameerj/pch
CMake: Use precompiled headers to improve compile times
2022-12-03 14:10:06 -05:00
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.
2022-12-01 00:49:58 -05:00
ameerj 51358d2b5e CMake: Disable PCH on MSVC + Buildcache configs 2022-11-29 23:01:32 -05:00
ameerj 37bc5118ea CMake: Use precompiled headers 2022-11-29 18:50:49 -05:00
lat9nq 47b133c0b8 CMakeLists: Bump minimum required CMake version to 3.22 2022-11-28 22:48:49 -05:00
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 #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-24 06:28:42 -08:00
Liam cbaf642ffe Initial ARM64 support 2022-11-09 16:58:49 -05:00