Commit graph

444 commits

Author SHA1 Message Date
Morph
4d37337551 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
8dc6ebc245 android: cmake: Use cmake_dependent_option as appropriate. 2023-06-03 00:14:33 -07:00
Liam
d54605d1a5 build: only enable adrenotools on arm64 2023-06-03 00:05:43 -07:00
liushuyu
0492011af7 CMake: fix pkg-config behavior when building for Android 2023-06-03 00:05:33 -07:00
bunnei
d6d5ed4a0b cmake: Integrate submoduled LLVM & fixes for Android. 2023-06-03 00:05:26 -07:00
Danila Malyutin
6ab723eace 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
604f887377 externals: update Vulkan-Headers to v1.3.246 2023-04-01 05:38:54 +00:00
Morph
0d5ee15676 CMakeLists: Require a minimum of boost 1.79.0 2023-03-25 23:03:28 -04:00
Morph
70a042cfbf CMakeLists: Update boost to 1.81.0 2023-03-23 20:53:39 -04:00
Liam
5be8a74b0c general: fix spelling mistakes 2023-03-12 11:33:01 -04:00
Morph
66717488c6 general: Target Windows 10 SDK
We no longer support operating systems below Windows 10.
2023-03-05 02:36:31 -05:00
liamwhite
22daf4c290 Merge pull request #9877 from abouvier/cmake-boost
cmake: use correct boost imported targets
2023-02-28 18:40:44 -05:00
Alexandre Bouvier
e9ec2e4cf0 cmake: use correct boost imported targets 2023-02-28 17:56:01 +01:00
Alexandre Bouvier
3374496dac cmake: support components in find modules 2023-02-28 17:46:20 +01:00
Alexandre Bouvier
00c30d5f69 externals: use openssl from vcpkg 2023-02-28 06:39:54 +01:00
liamwhite
32d4e06eca Merge pull request #9844 from abouvier/jwt-fix
cmake: fix cpp-jwt build
2023-02-27 19:46:19 -05:00
Matías Locatti
7cc539e8b8 Partially apply LTO to only core and video_core projects. 2023-02-27 18:44:14 -03:00
Alexandre Bouvier
14dc3d3c23 cmake: fix cpp-jwt build 2023-02-22 01:13:35 +01:00
Alexandre Bouvier
a6a501bfe8 externals: Update cpp-httplib to latest 2023-02-21 20:55:37 +01:00
german77
706dae4410 cmake: Download clang format 15 2023-01-29 19:57:40 -06:00
Alexandre Bouvier
8768e16b6c cmake: prefer system llvm library 2023-01-23 06:23:00 +01:00
Alexandre Bouvier
8789c9321a cmake: support the standard cmake testing option 2023-01-05 05:03:34 +01:00
Alexandre Bouvier
5c2cf39455 tests: update catch2 to 3.0.1 2023-01-05 04:58:31 +01:00
Alexandre Bouvier
eac2672a41 cmake: move find-modules to root cmake dir 2023-01-02 18:22:07 +01:00
liamwhite
69fd6d4117 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
37d8c9a305 cmake: allow options shadowing with normal variables 2023-01-02 02:43:38 +01:00
Alexandre Bouvier
d1b330c582 cmake: improve find_package failure messages 2023-01-02 02:27:25 +01:00
Liam
1bde70141a cmake: make Vulkan-Headers external the default 2022-12-28 20:55:32 -05:00
Liam
41ba0d07e6 cmake: make libusb optional 2022-12-28 17:26:46 -05:00
Liam
cace4481b8 cmake: ignore missing package finders for packages with submodule fallbacks 2022-12-28 17:21:31 -05:00
Liam
2f2f9326f3 cmake: make room server optional 2022-12-28 17:18:27 -05:00
Liam
42e8f5d0e9 CMakeLists: bump required Vulkan package version to 1.3.238 2022-12-19 21:57:46 -05:00
Mai
d5c1432409 Merge pull request #9419 from liamwhite/no-gl
cmake: make OpenGL loader optional
2022-12-11 21:09:52 +00:00
Liam
e4f8dbb3d4 cmake: make OpenGL loader optional
Co-authored-by: liushuyu <liushuyu@users.noreply.github.com>
2022-12-10 15:12:27 -05:00
Liam
bcd71472a2 cmake: enable faster linkers if available 2022-12-10 15:04:25 -05:00
liamwhite
ec6bca7a6f Merge pull request #9391 from abouvier/cmake-sdl
cmake: use sdl2 imported target
2022-12-06 09:58:48 -05:00
Alexandre Bouvier
87fef2c12c cmake: prefer system libusb 2022-12-06 05:30:40 +01:00
liamwhite
8072951e04 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
75f9183846 cmake: use sdl2 imported target 2022-12-06 01:26:30 +01:00
Lioncash
e3a192826f 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
ff784903a1 externals: Bump dynarmic to 6.4.0
Uses the tagged, versioned release instead.
2022-12-05 13:08:00 -05:00
Alexandre Bouvier
325a016cd2 cmake: prefer system libraries 2022-12-04 17:09:25 +01:00
Liam
8fbec5d298 externals: update dynarmic, SDL2 2022-12-04 10:12:26 -05:00
liamwhite
c53a3d3f37 Merge pull request #9300 from ameerj/pch
CMake: Use precompiled headers to improve compile times
2022-12-03 14:10:06 -05:00
lat9nq
a54654a308 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
7af574ff01 CMake: Disable PCH on MSVC + Buildcache configs 2022-11-29 23:01:32 -05:00
ameerj
bbf3e7f313 CMake: Use precompiled headers 2022-11-29 18:50:49 -05:00
lat9nq
30960e5c47 CMakeLists: Bump minimum required CMake version to 3.22 2022-11-28 22:48:49 -05:00
Kyle Kienapfel
84063074a5 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
9509fb30a4 Initial ARM64 support 2022-11-09 16:58:49 -05:00