diff options
| -rw-r--r-- | CMakeLists.txt | 39 | ||||
| -rw-r--r-- | externals/CMakeLists.txt | 45 | ||||
| -rw-r--r-- | externals/find-modules/FindDiscordRPC.cmake | 27 | ||||
| -rw-r--r-- | externals/find-modules/Findenet.cmake | 17 | ||||
| -rw-r--r-- | externals/find-modules/Findhttplib.cmake | 22 | ||||
| -rw-r--r-- | externals/find-modules/Findinih.cmake | 17 | ||||
| -rw-r--r-- | externals/find-modules/Findlz4.cmake | 37 | ||||
| -rw-r--r-- | externals/find-modules/Findzstd.cmake | 37 | ||||
| -rw-r--r-- | externals/inih/CMakeLists.txt | 3 | ||||
| -rw-r--r-- | src/audio_core/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | src/common/CMakeLists.txt | 14 | ||||
| -rw-r--r-- | src/core/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/network/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/video_core/CMakeLists.txt | 7 | ||||
| -rw-r--r-- | src/web_service/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/yuzu/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | src/yuzu_cmd/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | src/yuzu_cmd/config.cpp | 2 |
18 files changed, 205 insertions, 82 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index facf4ea5f..1200c14bd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
| @@ -43,8 +43,6 @@ option(ENABLE_CUBEB "Enables the cubeb audio backend" ON) | |||
| 43 | 43 | ||
| 44 | option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence" OFF) | 44 | option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence" OFF) |
| 45 | 45 | ||
| 46 | option(YUZU_USE_BUNDLED_OPUS "Compile bundled opus" ON) | ||
| 47 | |||
| 48 | option(YUZU_TESTS "Compile tests" ON) | 46 | option(YUZU_TESTS "Compile tests" ON) |
| 49 | 47 | ||
| 50 | option(YUZU_USE_PRECOMPILED_HEADERS "Use precompiled headers" ON) | 48 | option(YUZU_USE_PRECOMPILED_HEADERS "Use precompiled headers" ON) |
| @@ -201,24 +199,39 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) | |||
| 201 | # System imported libraries | 199 | # System imported libraries |
| 202 | # ======================================================================= | 200 | # ======================================================================= |
| 203 | 201 | ||
| 204 | find_package(fmt 8.0.1 REQUIRED CONFIG) | 202 | find_package(enet 1.3) |
| 205 | find_package(nlohmann_json 3.8 REQUIRED CONFIG) | 203 | find_package(fmt 9 REQUIRED) |
| 204 | find_package(inih) | ||
| 205 | find_package(lz4 1.8 REQUIRED) | ||
| 206 | find_package(nlohmann_json 3.8 REQUIRED) | ||
| 207 | find_package(Opus 1.3) | ||
| 208 | find_package(Vulkan 1.3.213) | ||
| 206 | find_package(ZLIB 1.2 REQUIRED) | 209 | find_package(ZLIB 1.2 REQUIRED) |
| 210 | find_package(zstd 1.5 REQUIRED) | ||
| 211 | |||
| 212 | if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64) | ||
| 213 | find_package(xbyak 6) | ||
| 214 | endif() | ||
| 215 | |||
| 216 | if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) | ||
| 217 | find_package(dynarmic 6.2.4) | ||
| 218 | endif() | ||
| 219 | |||
| 220 | if (ENABLE_CUBEB) | ||
| 221 | find_package(cubeb) | ||
| 222 | endif() | ||
| 207 | 223 | ||
| 208 | # Search for config-only package first (for vcpkg), then try non-config | 224 | if (USE_DISCORD_PRESENCE) |
| 209 | find_package(zstd 1.5 CONFIG) | 225 | find_package(DiscordRPC) |
| 210 | if (NOT zstd_FOUND) | ||
| 211 | find_package(zstd 1.5 REQUIRED) | ||
| 212 | endif() | 226 | endif() |
| 213 | 227 | ||
| 214 | # lz4 1.8 is required, but vcpkg's lz4-config.cmake does not have version info | 228 | if (ENABLE_WEB_SERVICE) |
| 215 | find_package(lz4 CONFIG) | 229 | find_package(cpp-jwt 1.4) |
| 216 | if (NOT lz4_FOUND) | 230 | find_package(httplib 0.11) |
| 217 | find_package(lz4 1.8 REQUIRED) | ||
| 218 | endif() | 231 | endif() |
| 219 | 232 | ||
| 220 | if (YUZU_TESTS) | 233 | if (YUZU_TESTS) |
| 221 | find_package(Catch2 2.13.7 REQUIRED CONFIG) | 234 | find_package(Catch2 2.13.7 REQUIRED) |
| 222 | endif() | 235 | endif() |
| 223 | 236 | ||
| 224 | find_package(Boost 1.73.0 COMPONENTS context) | 237 | find_package(Boost 1.73.0 COMPONENTS context) |
diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index eb6cb706d..fea10d809 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt | |||
| @@ -6,15 +6,16 @@ list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/externals/find-modules") | |||
| 6 | include(DownloadExternals) | 6 | include(DownloadExternals) |
| 7 | 7 | ||
| 8 | # xbyak | 8 | # xbyak |
| 9 | if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64) | 9 | if ((ARCHITECTURE_x86 OR ARCHITECTURE_x86_64) AND NOT TARGET xbyak::xbyak) |
| 10 | add_subdirectory(xbyak EXCLUDE_FROM_ALL) | 10 | add_subdirectory(xbyak EXCLUDE_FROM_ALL) |
| 11 | endif() | 11 | endif() |
| 12 | 12 | ||
| 13 | # Dynarmic | 13 | # Dynarmic |
| 14 | if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) | 14 | if ((ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) AND NOT TARGET dynarmic::dynarmic) |
| 15 | set(DYNARMIC_NO_BUNDLED_FMT ON) | 15 | set(DYNARMIC_NO_BUNDLED_FMT ON) |
| 16 | set(DYNARMIC_IGNORE_ASSERTS ON CACHE BOOL "" FORCE) | 16 | set(DYNARMIC_IGNORE_ASSERTS ON CACHE BOOL "" FORCE) |
| 17 | add_subdirectory(dynarmic) | 17 | add_subdirectory(dynarmic EXCLUDE_FROM_ALL) |
| 18 | add_library(dynarmic::dynarmic ALIAS dynarmic) | ||
| 18 | endif() | 19 | endif() |
| 19 | 20 | ||
| 20 | # getopt | 21 | # getopt |
| @@ -26,7 +27,9 @@ endif() | |||
| 26 | add_subdirectory(glad) | 27 | add_subdirectory(glad) |
| 27 | 28 | ||
| 28 | # inih | 29 | # inih |
| 29 | add_subdirectory(inih) | 30 | if (NOT TARGET inih::INIReader) |
| 31 | add_subdirectory(inih) | ||
| 32 | endif() | ||
| 30 | 33 | ||
| 31 | # mbedtls | 34 | # mbedtls |
| 32 | add_subdirectory(mbedtls EXCLUDE_FROM_ALL) | 35 | add_subdirectory(mbedtls EXCLUDE_FROM_ALL) |
| @@ -72,25 +75,30 @@ if (YUZU_USE_EXTERNAL_SDL2) | |||
| 72 | endif() | 75 | endif() |
| 73 | 76 | ||
| 74 | # ENet | 77 | # ENet |
| 75 | add_subdirectory(enet) | 78 | if (NOT TARGET enet::enet) |
| 76 | target_include_directories(enet INTERFACE ./enet/include) | 79 | add_subdirectory(enet EXCLUDE_FROM_ALL) |
| 80 | target_include_directories(enet INTERFACE ./enet/include) | ||
| 81 | add_library(enet::enet ALIAS enet) | ||
| 82 | endif() | ||
| 77 | 83 | ||
| 78 | # Cubeb | 84 | # Cubeb |
| 79 | if(ENABLE_CUBEB) | 85 | if (ENABLE_CUBEB AND NOT TARGET cubeb::cubeb) |
| 80 | set(BUILD_TESTS OFF CACHE BOOL "") | 86 | set(BUILD_TESTS OFF CACHE BOOL "") |
| 81 | add_subdirectory(cubeb EXCLUDE_FROM_ALL) | 87 | add_subdirectory(cubeb EXCLUDE_FROM_ALL) |
| 88 | add_library(cubeb::cubeb ALIAS cubeb) | ||
| 82 | endif() | 89 | endif() |
| 83 | 90 | ||
| 84 | # DiscordRPC | 91 | # DiscordRPC |
| 85 | if (USE_DISCORD_PRESENCE) | 92 | if (USE_DISCORD_PRESENCE AND NOT TARGET DiscordRPC::discord-rpc) |
| 86 | add_subdirectory(discord-rpc EXCLUDE_FROM_ALL) | 93 | add_subdirectory(discord-rpc EXCLUDE_FROM_ALL) |
| 87 | target_include_directories(discord-rpc INTERFACE ./discord-rpc/include) | 94 | target_include_directories(discord-rpc INTERFACE ./discord-rpc/include) |
| 95 | add_library(DiscordRPC::discord-rpc ALIAS discord-rpc) | ||
| 88 | endif() | 96 | endif() |
| 89 | 97 | ||
| 90 | # Sirit | 98 | # Sirit |
| 91 | add_subdirectory(sirit) | 99 | add_subdirectory(sirit EXCLUDE_FROM_ALL) |
| 92 | 100 | ||
| 93 | if (ENABLE_WEB_SERVICE) | 101 | if (ENABLE_WEB_SERVICE AND NOT TARGET httplib::httplib) |
| 94 | if (NOT WIN32) | 102 | if (NOT WIN32) |
| 95 | find_package(OpenSSL 1.1) | 103 | find_package(OpenSSL 1.1) |
| 96 | if (OPENSSL_FOUND) | 104 | if (OPENSSL_FOUND) |
| @@ -118,18 +126,20 @@ if (ENABLE_WEB_SERVICE) | |||
| 118 | if (WIN32) | 126 | if (WIN32) |
| 119 | target_link_libraries(httplib INTERFACE crypt32 cryptui ws2_32) | 127 | target_link_libraries(httplib INTERFACE crypt32 cryptui ws2_32) |
| 120 | endif() | 128 | endif() |
| 121 | 129 | add_library(httplib::httplib ALIAS httplib) | |
| 122 | # cpp-jwt | 130 | endif() |
| 131 | |||
| 132 | # cpp-jwt | ||
| 133 | if (ENABLE_WEB_SERVICE AND NOT TARGET cpp-jwt::cpp-jwt) | ||
| 123 | add_library(cpp-jwt INTERFACE) | 134 | add_library(cpp-jwt INTERFACE) |
| 124 | target_include_directories(cpp-jwt INTERFACE ./cpp-jwt/include) | 135 | target_include_directories(cpp-jwt INTERFACE ./cpp-jwt/include) |
| 125 | target_compile_definitions(cpp-jwt INTERFACE CPP_JWT_USE_VENDORED_NLOHMANN_JSON) | 136 | target_compile_definitions(cpp-jwt INTERFACE CPP_JWT_USE_VENDORED_NLOHMANN_JSON) |
| 137 | add_library(cpp-jwt::cpp-jwt ALIAS cpp-jwt) | ||
| 126 | endif() | 138 | endif() |
| 127 | 139 | ||
| 128 | # Opus | 140 | # Opus |
| 129 | if (YUZU_USE_BUNDLED_OPUS) | 141 | if (NOT TARGET Opus::opus) |
| 130 | add_subdirectory(opus EXCLUDE_FROM_ALL) | 142 | add_subdirectory(opus EXCLUDE_FROM_ALL) |
| 131 | else() | ||
| 132 | find_package(Opus 1.3 REQUIRED) | ||
| 133 | endif() | 143 | endif() |
| 134 | 144 | ||
| 135 | # FFMpeg | 145 | # FFMpeg |
| @@ -140,3 +150,8 @@ if (YUZU_USE_BUNDLED_FFMPEG) | |||
| 140 | set(FFmpeg_LIBRARIES "${FFmpeg_LIBRARIES}" PARENT_SCOPE) | 150 | set(FFmpeg_LIBRARIES "${FFmpeg_LIBRARIES}" PARENT_SCOPE) |
| 141 | set(FFmpeg_INCLUDE_DIR "${FFmpeg_INCLUDE_DIR}" PARENT_SCOPE) | 151 | set(FFmpeg_INCLUDE_DIR "${FFmpeg_INCLUDE_DIR}" PARENT_SCOPE) |
| 142 | endif() | 152 | endif() |
| 153 | |||
| 154 | # Vulkan-Headers | ||
| 155 | if (NOT TARGET Vulkan::Headers) | ||
| 156 | add_subdirectory(Vulkan-Headers EXCLUDE_FROM_ALL) | ||
| 157 | endif() | ||
diff --git a/externals/find-modules/FindDiscordRPC.cmake b/externals/find-modules/FindDiscordRPC.cmake new file mode 100644 index 000000000..44ca9904f --- /dev/null +++ b/externals/find-modules/FindDiscordRPC.cmake | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | # SPDX-FileCopyrightText: 2022 Alexandre Bouvier <contact@amb.tf> | ||
| 2 | # | ||
| 3 | # SPDX-License-Identifier: GPL-3.0-or-later | ||
| 4 | |||
| 5 | find_path(DiscordRPC_INCLUDE_DIR discord_rpc.h) | ||
| 6 | |||
| 7 | find_library(DiscordRPC_LIBRARY discord-rpc) | ||
| 8 | |||
| 9 | include(FindPackageHandleStandardArgs) | ||
| 10 | find_package_handle_standard_args(DiscordRPC | ||
| 11 | REQUIRED_VARS | ||
| 12 | DiscordRPC_LIBRARY | ||
| 13 | DiscordRPC_INCLUDE_DIR | ||
| 14 | ) | ||
| 15 | |||
| 16 | if (DiscordRPC_FOUND AND NOT TARGET DiscordRPC::discord-rpc) | ||
| 17 | add_library(DiscordRPC::discord-rpc UNKNOWN IMPORTED) | ||
| 18 | set_target_properties(DiscordRPC::discord-rpc PROPERTIES | ||
| 19 | IMPORTED_LOCATION "${DiscordRPC_LIBRARY}" | ||
| 20 | INTERFACE_INCLUDE_DIRECTORIES "${DiscordRPC_INCLUDE_DIR}" | ||
| 21 | ) | ||
| 22 | endif() | ||
| 23 | |||
| 24 | mark_as_advanced( | ||
| 25 | DiscordRPC_INCLUDE_DIR | ||
| 26 | DiscordRPC_LIBRARY | ||
| 27 | ) | ||
diff --git a/externals/find-modules/Findenet.cmake b/externals/find-modules/Findenet.cmake new file mode 100644 index 000000000..663a2592f --- /dev/null +++ b/externals/find-modules/Findenet.cmake | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | # SPDX-FileCopyrightText: 2022 Alexandre Bouvier <contact@amb.tf> | ||
| 2 | # | ||
| 3 | # SPDX-License-Identifier: GPL-3.0-or-later | ||
| 4 | |||
| 5 | find_package(PkgConfig QUIET) | ||
| 6 | if (PKG_CONFIG_FOUND) | ||
| 7 | pkg_search_module(ENET QUIET IMPORTED_TARGET GLOBAL libenet) | ||
| 8 | if (ENET_FOUND) | ||
| 9 | add_library(enet::enet ALIAS PkgConfig::ENET) | ||
| 10 | endif() | ||
| 11 | endif() | ||
| 12 | |||
| 13 | include(FindPackageHandleStandardArgs) | ||
| 14 | find_package_handle_standard_args(enet | ||
| 15 | REQUIRED_VARS ENET_LINK_LIBRARIES | ||
| 16 | VERSION_VAR ENET_VERSION | ||
| 17 | ) | ||
diff --git a/externals/find-modules/Findhttplib.cmake b/externals/find-modules/Findhttplib.cmake new file mode 100644 index 000000000..56e92a637 --- /dev/null +++ b/externals/find-modules/Findhttplib.cmake | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | # SPDX-FileCopyrightText: 2022 Andrea Pappacoda <andrea@pappacoda.it> | ||
| 2 | # | ||
| 3 | # SPDX-License-Identifier: GPL-2.0-or-later | ||
| 4 | |||
| 5 | include(FindPackageHandleStandardArgs) | ||
| 6 | |||
| 7 | find_package(httplib QUIET CONFIG) | ||
| 8 | if (httplib_FOUND) | ||
| 9 | find_package_handle_standard_args(httplib CONFIG_MODE) | ||
| 10 | else() | ||
| 11 | find_package(PkgConfig QUIET) | ||
| 12 | if (PKG_CONFIG_FOUND) | ||
| 13 | pkg_search_module(HTTPLIB QUIET IMPORTED_TARGET GLOBAL cpp-httplib) | ||
| 14 | if (HTTPLIB_FOUND) | ||
| 15 | add_library(httplib::httplib ALIAS PkgConfig::HTTPLIB) | ||
| 16 | endif() | ||
| 17 | endif() | ||
| 18 | find_package_handle_standard_args(httplib | ||
| 19 | REQUIRED_VARS HTTPLIB_INCLUDEDIR | ||
| 20 | VERSION_VAR HTTPLIB_VERSION | ||
| 21 | ) | ||
| 22 | endif() | ||
diff --git a/externals/find-modules/Findinih.cmake b/externals/find-modules/Findinih.cmake new file mode 100644 index 000000000..844396471 --- /dev/null +++ b/externals/find-modules/Findinih.cmake | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | # SPDX-FileCopyrightText: 2022 Alexandre Bouvier <contact@amb.tf> | ||
| 2 | # | ||
| 3 | # SPDX-License-Identifier: GPL-3.0-or-later | ||
| 4 | |||
| 5 | find_package(PkgConfig QUIET) | ||
| 6 | if (PKG_CONFIG_FOUND) | ||
| 7 | pkg_search_module(INIREADER QUIET IMPORTED_TARGET GLOBAL INIReader) | ||
| 8 | if (INIREADER_FOUND) | ||
| 9 | add_library(inih::INIReader ALIAS PkgConfig::INIREADER) | ||
| 10 | endif() | ||
| 11 | endif() | ||
| 12 | |||
| 13 | include(FindPackageHandleStandardArgs) | ||
| 14 | find_package_handle_standard_args(inih | ||
| 15 | REQUIRED_VARS INIREADER_LINK_LIBRARIES | ||
| 16 | VERSION_VAR INIREADER_VERSION | ||
| 17 | ) | ||
diff --git a/externals/find-modules/Findlz4.cmake b/externals/find-modules/Findlz4.cmake index 13ca5de66..a928c4307 100644 --- a/externals/find-modules/Findlz4.cmake +++ b/externals/find-modules/Findlz4.cmake | |||
| @@ -1,19 +1,30 @@ | |||
| 1 | # SPDX-FileCopyrightText: 2022 yuzu Emulator Project | 1 | # SPDX-FileCopyrightText: 2022 yuzu Emulator Project |
| 2 | # SPDX-License-Identifier: GPL-2.0-or-later | 2 | # SPDX-License-Identifier: GPL-2.0-or-later |
| 3 | 3 | ||
| 4 | find_package(PkgConfig) | 4 | include(FindPackageHandleStandardArgs) |
| 5 | 5 | ||
| 6 | if (PKG_CONFIG_FOUND) | 6 | find_package(lz4 QUIET CONFIG) |
| 7 | pkg_search_module(liblz4 IMPORTED_TARGET GLOBAL liblz4) | 7 | if (lz4_FOUND) |
| 8 | if (liblz4_FOUND) | 8 | find_package_handle_standard_args(lz4 CONFIG_MODE) |
| 9 | add_library(lz4::lz4 ALIAS PkgConfig::liblz4) | 9 | if (NOT TARGET lz4::lz4) |
| 10 | if (TARGET LZ4::lz4_shared) | ||
| 11 | set_target_properties(LZ4::lz4_shared PROPERTIES IMPORTED_GLOBAL TRUE) | ||
| 12 | add_library(lz4::lz4 ALIAS LZ4::lz4_shared) | ||
| 13 | else() | ||
| 14 | set_target_properties(LZ4::lz4_static PROPERTIES IMPORTED_GLOBAL TRUE) | ||
| 15 | add_library(lz4::lz4 ALIAS LZ4::lz4_static) | ||
| 16 | endif() | ||
| 17 | endif() | ||
| 18 | else() | ||
| 19 | find_package(PkgConfig QUIET) | ||
| 20 | if (PKG_CONFIG_FOUND) | ||
| 21 | pkg_search_module(liblz4 QUIET IMPORTED_TARGET GLOBAL liblz4) | ||
| 22 | if (liblz4_FOUND) | ||
| 23 | add_library(lz4::lz4 ALIAS PkgConfig::liblz4) | ||
| 24 | endif() | ||
| 10 | endif() | 25 | endif() |
| 26 | find_package_handle_standard_args(lz4 | ||
| 27 | REQUIRED_VARS liblz4_LINK_LIBRARIES | ||
| 28 | VERSION_VAR liblz4_VERSION | ||
| 29 | ) | ||
| 11 | endif() | 30 | endif() |
| 12 | |||
| 13 | include(FindPackageHandleStandardArgs) | ||
| 14 | find_package_handle_standard_args(lz4 | ||
| 15 | REQUIRED_VARS | ||
| 16 | liblz4_LINK_LIBRARIES | ||
| 17 | liblz4_FOUND | ||
| 18 | VERSION_VAR liblz4_VERSION | ||
| 19 | ) | ||
diff --git a/externals/find-modules/Findzstd.cmake b/externals/find-modules/Findzstd.cmake index f4031eb70..1c29f3598 100644 --- a/externals/find-modules/Findzstd.cmake +++ b/externals/find-modules/Findzstd.cmake | |||
| @@ -1,19 +1,30 @@ | |||
| 1 | # SPDX-FileCopyrightText: 2022 yuzu Emulator Project | 1 | # SPDX-FileCopyrightText: 2022 yuzu Emulator Project |
| 2 | # SPDX-License-Identifier: GPL-2.0-or-later | 2 | # SPDX-License-Identifier: GPL-2.0-or-later |
| 3 | 3 | ||
| 4 | find_package(PkgConfig) | 4 | include(FindPackageHandleStandardArgs) |
| 5 | 5 | ||
| 6 | if (PKG_CONFIG_FOUND) | 6 | find_package(zstd QUIET CONFIG) |
| 7 | pkg_search_module(libzstd IMPORTED_TARGET GLOBAL libzstd) | 7 | if (zstd_FOUND) |
| 8 | if (libzstd_FOUND) | 8 | find_package_handle_standard_args(zstd CONFIG_MODE) |
| 9 | add_library(zstd::zstd ALIAS PkgConfig::libzstd) | 9 | if (NOT TARGET zstd::zstd) |
| 10 | if (TARGET zstd::libzstd_shared) | ||
| 11 | set_target_properties(zstd::libzstd_shared PROPERTIES IMPORTED_GLOBAL TRUE) | ||
| 12 | add_library(zstd::zstd ALIAS zstd::libzstd_shared) | ||
| 13 | else() | ||
| 14 | set_target_properties(zstd::libzstd_static PROPERTIES IMPORTED_GLOBAL TRUE) | ||
| 15 | add_library(zstd::zstd ALIAS zstd::libzstd_static) | ||
| 16 | endif() | ||
| 17 | endif() | ||
| 18 | else() | ||
| 19 | find_package(PkgConfig QUIET) | ||
| 20 | if (PKG_CONFIG_FOUND) | ||
| 21 | pkg_search_module(libzstd QUIET IMPORTED_TARGET GLOBAL libzstd) | ||
| 22 | if (libzstd_FOUND) | ||
| 23 | add_library(zstd::zstd ALIAS PkgConfig::libzstd) | ||
| 24 | endif() | ||
| 10 | endif() | 25 | endif() |
| 26 | find_package_handle_standard_args(zstd | ||
| 27 | REQUIRED_VARS libzstd_LINK_LIBRARIES | ||
| 28 | VERSION_VAR libzstd_VERSION | ||
| 29 | ) | ||
| 11 | endif() | 30 | endif() |
| 12 | |||
| 13 | include(FindPackageHandleStandardArgs) | ||
| 14 | find_package_handle_standard_args(zstd | ||
| 15 | REQUIRED_VARS | ||
| 16 | libzstd_LINK_LIBRARIES | ||
| 17 | libzstd_FOUND | ||
| 18 | VERSION_VAR libzstd_VERSION | ||
| 19 | ) | ||
diff --git a/externals/inih/CMakeLists.txt b/externals/inih/CMakeLists.txt index b686e3cf5..ebb60a976 100644 --- a/externals/inih/CMakeLists.txt +++ b/externals/inih/CMakeLists.txt | |||
| @@ -9,4 +9,5 @@ add_library(inih | |||
| 9 | ) | 9 | ) |
| 10 | 10 | ||
| 11 | create_target_directory_groups(inih) | 11 | create_target_directory_groups(inih) |
| 12 | target_include_directories(inih INTERFACE .) | 12 | target_include_directories(inih INTERFACE inih/cpp) |
| 13 | add_library(inih::INIReader ALIAS inih) | ||
diff --git a/src/audio_core/CMakeLists.txt b/src/audio_core/CMakeLists.txt index 0a9d9ec29..f573a23e6 100644 --- a/src/audio_core/CMakeLists.txt +++ b/src/audio_core/CMakeLists.txt | |||
| @@ -219,11 +219,11 @@ endif() | |||
| 219 | 219 | ||
| 220 | target_link_libraries(audio_core PUBLIC common core) | 220 | target_link_libraries(audio_core PUBLIC common core) |
| 221 | if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) | 221 | if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) |
| 222 | target_link_libraries(audio_core PRIVATE dynarmic) | 222 | target_link_libraries(audio_core PRIVATE dynarmic::dynarmic) |
| 223 | endif() | 223 | endif() |
| 224 | 224 | ||
| 225 | if(ENABLE_CUBEB) | 225 | if(ENABLE_CUBEB) |
| 226 | target_link_libraries(audio_core PRIVATE cubeb) | 226 | target_link_libraries(audio_core PRIVATE cubeb::cubeb) |
| 227 | target_compile_definitions(audio_core PRIVATE -DHAVE_CUBEB=1) | 227 | target_compile_definitions(audio_core PRIVATE -DHAVE_CUBEB=1) |
| 228 | endif() | 228 | endif() |
| 229 | if(ENABLE_SDL2) | 229 | if(ENABLE_SDL2) |
diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index a12edc584..6bdffcb7a 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt | |||
| @@ -149,7 +149,7 @@ if(ARCHITECTURE_x86_64) | |||
| 149 | x64/xbyak_abi.h | 149 | x64/xbyak_abi.h |
| 150 | x64/xbyak_util.h | 150 | x64/xbyak_util.h |
| 151 | ) | 151 | ) |
| 152 | target_link_libraries(common PRIVATE xbyak) | 152 | target_link_libraries(common PRIVATE xbyak::xbyak) |
| 153 | endif() | 153 | endif() |
| 154 | 154 | ||
| 155 | if (MSVC) | 155 | if (MSVC) |
| @@ -174,17 +174,7 @@ endif() | |||
| 174 | create_target_directory_groups(common) | 174 | create_target_directory_groups(common) |
| 175 | 175 | ||
| 176 | target_link_libraries(common PUBLIC ${Boost_LIBRARIES} fmt::fmt microprofile Threads::Threads) | 176 | target_link_libraries(common PUBLIC ${Boost_LIBRARIES} fmt::fmt microprofile Threads::Threads) |
| 177 | if (TARGET lz4::lz4) | 177 | target_link_libraries(common PRIVATE lz4::lz4 zstd::zstd) |
| 178 | target_link_libraries(common PRIVATE lz4::lz4) | ||
| 179 | else() | ||
| 180 | target_link_libraries(common PRIVATE LZ4::lz4_shared) | ||
| 181 | endif() | ||
| 182 | if (TARGET zstd::zstd) | ||
| 183 | target_link_libraries(common PRIVATE zstd::zstd) | ||
| 184 | else() | ||
| 185 | target_link_libraries(common PRIVATE | ||
| 186 | $<IF:$<TARGET_EXISTS:zstd::libzstd_shared>,zstd::libzstd_shared,zstd::libzstd_static>) | ||
| 187 | endif() | ||
| 188 | 178 | ||
| 189 | if (YUZU_USE_PRECOMPILED_HEADERS) | 179 | if (YUZU_USE_PRECOMPILED_HEADERS) |
| 190 | target_precompile_headers(common PRIVATE precompiled_headers.h) | 180 | target_precompile_headers(common PRIVATE precompiled_headers.h) |
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 6530d3c60..ad8b8ef95 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt | |||
| @@ -824,7 +824,7 @@ if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) | |||
| 824 | hle/service/jit/jit.cpp | 824 | hle/service/jit/jit.cpp |
| 825 | hle/service/jit/jit.h | 825 | hle/service/jit/jit.h |
| 826 | ) | 826 | ) |
| 827 | target_link_libraries(core PRIVATE dynarmic) | 827 | target_link_libraries(core PRIVATE dynarmic::dynarmic) |
| 828 | endif() | 828 | endif() |
| 829 | 829 | ||
| 830 | if (YUZU_USE_PRECOMPILED_HEADERS) | 830 | if (YUZU_USE_PRECOMPILED_HEADERS) |
diff --git a/src/network/CMakeLists.txt b/src/network/CMakeLists.txt index c85c308de..1ab52da59 100644 --- a/src/network/CMakeLists.txt +++ b/src/network/CMakeLists.txt | |||
| @@ -19,7 +19,7 @@ add_library(network STATIC | |||
| 19 | 19 | ||
| 20 | create_target_directory_groups(network) | 20 | create_target_directory_groups(network) |
| 21 | 21 | ||
| 22 | target_link_libraries(network PRIVATE common enet Boost::boost) | 22 | target_link_libraries(network PRIVATE common enet::enet Boost::boost) |
| 23 | if (ENABLE_WEB_SERVICE) | 23 | if (ENABLE_WEB_SERVICE) |
| 24 | target_compile_definitions(network PRIVATE -DENABLE_WEB_SERVICE) | 24 | target_compile_definitions(network PRIVATE -DENABLE_WEB_SERVICE) |
| 25 | target_link_libraries(network PRIVATE web_service) | 25 | target_link_libraries(network PRIVATE web_service) |
diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt index b9bad63ac..5096d935e 100644 --- a/src/video_core/CMakeLists.txt +++ b/src/video_core/CMakeLists.txt | |||
| @@ -264,8 +264,7 @@ target_link_options(video_core PRIVATE ${FFmpeg_LDFLAGS}) | |||
| 264 | 264 | ||
| 265 | add_dependencies(video_core host_shaders) | 265 | add_dependencies(video_core host_shaders) |
| 266 | target_include_directories(video_core PRIVATE ${HOST_SHADERS_INCLUDE}) | 266 | target_include_directories(video_core PRIVATE ${HOST_SHADERS_INCLUDE}) |
| 267 | target_include_directories(video_core PRIVATE sirit ../../externals/Vulkan-Headers/include) | 267 | target_link_libraries(video_core PRIVATE sirit Vulkan::Headers) |
| 268 | target_link_libraries(video_core PRIVATE sirit) | ||
| 269 | 268 | ||
| 270 | if (ENABLE_NSIGHT_AFTERMATH) | 269 | if (ENABLE_NSIGHT_AFTERMATH) |
| 271 | if (NOT DEFINED ENV{NSIGHT_AFTERMATH_SDK}) | 270 | if (NOT DEFINED ENV{NSIGHT_AFTERMATH_SDK}) |
| @@ -305,11 +304,11 @@ if (ARCHITECTURE_x86_64) | |||
| 305 | macro/macro_jit_x64.cpp | 304 | macro/macro_jit_x64.cpp |
| 306 | macro/macro_jit_x64.h | 305 | macro/macro_jit_x64.h |
| 307 | ) | 306 | ) |
| 308 | target_link_libraries(video_core PUBLIC xbyak) | 307 | target_link_libraries(video_core PUBLIC xbyak::xbyak) |
| 309 | endif() | 308 | endif() |
| 310 | 309 | ||
| 311 | if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) | 310 | if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) |
| 312 | target_link_libraries(video_core PRIVATE dynarmic) | 311 | target_link_libraries(video_core PRIVATE dynarmic::dynarmic) |
| 313 | endif() | 312 | endif() |
| 314 | 313 | ||
| 315 | if (YUZU_USE_PRECOMPILED_HEADERS) | 314 | if (YUZU_USE_PRECOMPILED_HEADERS) |
diff --git a/src/web_service/CMakeLists.txt b/src/web_service/CMakeLists.txt index 19534b9e4..02582aa04 100644 --- a/src/web_service/CMakeLists.txt +++ b/src/web_service/CMakeLists.txt | |||
| @@ -17,7 +17,7 @@ add_library(web_service STATIC | |||
| 17 | ) | 17 | ) |
| 18 | 18 | ||
| 19 | create_target_directory_groups(web_service) | 19 | create_target_directory_groups(web_service) |
| 20 | target_link_libraries(web_service PRIVATE common network nlohmann_json::nlohmann_json httplib cpp-jwt) | 20 | target_link_libraries(web_service PRIVATE common network nlohmann_json::nlohmann_json httplib::httplib cpp-jwt::cpp-jwt) |
| 21 | 21 | ||
| 22 | if (YUZU_USE_PRECOMPILED_HEADERS) | 22 | if (YUZU_USE_PRECOMPILED_HEADERS) |
| 23 | target_precompile_headers(web_service PRIVATE precompiled_headers.h) | 23 | target_precompile_headers(web_service PRIVATE precompiled_headers.h) |
diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt index f192d6329..9971bdfab 100644 --- a/src/yuzu/CMakeLists.txt +++ b/src/yuzu/CMakeLists.txt | |||
| @@ -318,7 +318,7 @@ target_link_libraries(yuzu PRIVATE common core input_common network video_core) | |||
| 318 | target_link_libraries(yuzu PRIVATE Boost::boost glad Qt${QT_MAJOR_VERSION}::Widgets) | 318 | target_link_libraries(yuzu PRIVATE Boost::boost glad Qt${QT_MAJOR_VERSION}::Widgets) |
| 319 | target_link_libraries(yuzu PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads) | 319 | target_link_libraries(yuzu PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads) |
| 320 | 320 | ||
| 321 | target_include_directories(yuzu PRIVATE ../../externals/Vulkan-Headers/include) | 321 | target_link_libraries(yuzu PRIVATE Vulkan::Headers) |
| 322 | if (NOT WIN32) | 322 | if (NOT WIN32) |
| 323 | target_include_directories(yuzu PRIVATE ${Qt${QT_MAJOR_VERSION}Gui_PRIVATE_INCLUDE_DIRS}) | 323 | target_include_directories(yuzu PRIVATE ${Qt${QT_MAJOR_VERSION}Gui_PRIVATE_INCLUDE_DIRS}) |
| 324 | endif() | 324 | endif() |
| @@ -354,7 +354,7 @@ if (USE_DISCORD_PRESENCE) | |||
| 354 | discord_impl.cpp | 354 | discord_impl.cpp |
| 355 | discord_impl.h | 355 | discord_impl.h |
| 356 | ) | 356 | ) |
| 357 | target_link_libraries(yuzu PRIVATE discord-rpc) | 357 | target_link_libraries(yuzu PRIVATE DiscordRPC::discord-rpc) |
| 358 | target_compile_definitions(yuzu PRIVATE -DUSE_DISCORD_PRESENCE) | 358 | target_compile_definitions(yuzu PRIVATE -DUSE_DISCORD_PRESENCE) |
| 359 | endif() | 359 | endif() |
| 360 | 360 | ||
| @@ -411,7 +411,7 @@ if (NOT APPLE) | |||
| 411 | endif() | 411 | endif() |
| 412 | 412 | ||
| 413 | if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) | 413 | if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) |
| 414 | target_link_libraries(yuzu PRIVATE dynarmic) | 414 | target_link_libraries(yuzu PRIVATE dynarmic::dynarmic) |
| 415 | endif() | 415 | endif() |
| 416 | 416 | ||
| 417 | if (YUZU_USE_PRECOMPILED_HEADERS) | 417 | if (YUZU_USE_PRECOMPILED_HEADERS) |
diff --git a/src/yuzu_cmd/CMakeLists.txt b/src/yuzu_cmd/CMakeLists.txt index 1c0c1a9fe..19b1d258c 100644 --- a/src/yuzu_cmd/CMakeLists.txt +++ b/src/yuzu_cmd/CMakeLists.txt | |||
| @@ -34,7 +34,7 @@ add_executable(yuzu-cmd | |||
| 34 | create_target_directory_groups(yuzu-cmd) | 34 | create_target_directory_groups(yuzu-cmd) |
| 35 | 35 | ||
| 36 | target_link_libraries(yuzu-cmd PRIVATE common core input_common) | 36 | target_link_libraries(yuzu-cmd PRIVATE common core input_common) |
| 37 | target_link_libraries(yuzu-cmd PRIVATE inih glad) | 37 | target_link_libraries(yuzu-cmd PRIVATE inih::INIReader glad) |
| 38 | if (MSVC) | 38 | if (MSVC) |
| 39 | target_link_libraries(yuzu-cmd PRIVATE getopt) | 39 | target_link_libraries(yuzu-cmd PRIVATE getopt) |
| 40 | endif() | 40 | endif() |
| @@ -43,7 +43,7 @@ target_link_libraries(yuzu-cmd PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads) | |||
| 43 | create_resource("../../dist/yuzu.bmp" "yuzu_cmd/yuzu_icon.h" "yuzu_icon") | 43 | create_resource("../../dist/yuzu.bmp" "yuzu_cmd/yuzu_icon.h" "yuzu_icon") |
| 44 | target_include_directories(yuzu-cmd PRIVATE ${RESOURCES_DIR}) | 44 | target_include_directories(yuzu-cmd PRIVATE ${RESOURCES_DIR}) |
| 45 | 45 | ||
| 46 | target_include_directories(yuzu-cmd PRIVATE ../../externals/Vulkan-Headers/include) | 46 | target_link_libraries(yuzu-cmd PRIVATE Vulkan::Headers) |
| 47 | 47 | ||
| 48 | if (YUZU_USE_EXTERNAL_SDL2) | 48 | if (YUZU_USE_EXTERNAL_SDL2) |
| 49 | target_link_libraries(yuzu-cmd PRIVATE SDL2-static) | 49 | target_link_libraries(yuzu-cmd PRIVATE SDL2-static) |
diff --git a/src/yuzu_cmd/config.cpp b/src/yuzu_cmd/config.cpp index 59f9c8e09..2c78e776c 100644 --- a/src/yuzu_cmd/config.cpp +++ b/src/yuzu_cmd/config.cpp | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | #pragma clang diagnostic pop | 15 | #pragma clang diagnostic pop |
| 16 | #endif | 16 | #endif |
| 17 | 17 | ||
| 18 | #include <inih/cpp/INIReader.h> | 18 | #include <INIReader.h> |
| 19 | #include "common/fs/file.h" | 19 | #include "common/fs/file.h" |
| 20 | #include "common/fs/fs.h" | 20 | #include "common/fs/fs.h" |
| 21 | #include "common/fs/path_util.h" | 21 | #include "common/fs/path_util.h" |