Merge pull request #6833 from abouvier/unbundle
cmake: prefer system libraries
This commit is contained in:
		| @@ -43,8 +43,6 @@ option(ENABLE_CUBEB "Enables the cubeb audio backend" ON) | |||||||
|  |  | ||||||
| option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence" OFF) | option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence" OFF) | ||||||
|  |  | ||||||
| option(YUZU_USE_BUNDLED_OPUS "Compile bundled opus" ON) |  | ||||||
|  |  | ||||||
| option(YUZU_TESTS "Compile tests" ON) | option(YUZU_TESTS "Compile tests" ON) | ||||||
|  |  | ||||||
| option(YUZU_USE_PRECOMPILED_HEADERS "Use precompiled headers" ON) | option(YUZU_USE_PRECOMPILED_HEADERS "Use precompiled headers" ON) | ||||||
| @@ -201,24 +199,39 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) | |||||||
| # System imported libraries | # System imported libraries | ||||||
| # ======================================================================= | # ======================================================================= | ||||||
|  |  | ||||||
| find_package(fmt 8.0.1 REQUIRED CONFIG) | find_package(enet 1.3) | ||||||
| find_package(nlohmann_json 3.8 REQUIRED CONFIG) | find_package(fmt 9 REQUIRED) | ||||||
|  | find_package(inih) | ||||||
|  | find_package(lz4 1.8 REQUIRED) | ||||||
|  | find_package(nlohmann_json 3.8 REQUIRED) | ||||||
|  | find_package(Opus 1.3) | ||||||
|  | find_package(Vulkan 1.3.213) | ||||||
| find_package(ZLIB 1.2 REQUIRED) | find_package(ZLIB 1.2 REQUIRED) | ||||||
|  | find_package(zstd 1.5 REQUIRED) | ||||||
|  |  | ||||||
| # Search for config-only package first (for vcpkg), then try non-config | if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64) | ||||||
| find_package(zstd 1.5 CONFIG) |     find_package(xbyak 6) | ||||||
| if (NOT zstd_FOUND) |  | ||||||
|     find_package(zstd 1.5 REQUIRED) |  | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| # lz4 1.8 is required, but vcpkg's lz4-config.cmake does not have version info | if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) | ||||||
| find_package(lz4 CONFIG) |     find_package(dynarmic 6.2.4) | ||||||
| if (NOT lz4_FOUND) | endif() | ||||||
|     find_package(lz4 1.8 REQUIRED) |  | ||||||
|  | if (ENABLE_CUBEB) | ||||||
|  |     find_package(cubeb) | ||||||
|  | endif() | ||||||
|  |  | ||||||
|  | if (USE_DISCORD_PRESENCE) | ||||||
|  |     find_package(DiscordRPC) | ||||||
|  | endif() | ||||||
|  |  | ||||||
|  | if (ENABLE_WEB_SERVICE) | ||||||
|  |     find_package(cpp-jwt 1.4) | ||||||
|  |     find_package(httplib 0.11) | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| if (YUZU_TESTS) | if (YUZU_TESTS) | ||||||
|     find_package(Catch2 2.13.7 REQUIRED CONFIG) |     find_package(Catch2 2.13.7 REQUIRED) | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| find_package(Boost 1.73.0 COMPONENTS context) | find_package(Boost 1.73.0 COMPONENTS context) | ||||||
|   | |||||||
							
								
								
									
										43
									
								
								externals/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										43
									
								
								externals/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							| @@ -6,15 +6,16 @@ list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/externals/find-modules") | |||||||
| include(DownloadExternals) | include(DownloadExternals) | ||||||
|  |  | ||||||
| # xbyak | # xbyak | ||||||
| if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64) | if ((ARCHITECTURE_x86 OR ARCHITECTURE_x86_64) AND NOT TARGET xbyak::xbyak) | ||||||
|     add_subdirectory(xbyak EXCLUDE_FROM_ALL) |     add_subdirectory(xbyak EXCLUDE_FROM_ALL) | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| # Dynarmic | # Dynarmic | ||||||
| if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) | if ((ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) AND NOT TARGET dynarmic::dynarmic) | ||||||
|     set(DYNARMIC_NO_BUNDLED_FMT ON) |     set(DYNARMIC_NO_BUNDLED_FMT ON) | ||||||
|     set(DYNARMIC_IGNORE_ASSERTS ON CACHE BOOL "" FORCE) |     set(DYNARMIC_IGNORE_ASSERTS ON CACHE BOOL "" FORCE) | ||||||
|     add_subdirectory(dynarmic) |     add_subdirectory(dynarmic EXCLUDE_FROM_ALL) | ||||||
|  |     add_library(dynarmic::dynarmic ALIAS dynarmic) | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| # getopt | # getopt | ||||||
| @@ -26,7 +27,9 @@ endif() | |||||||
| add_subdirectory(glad) | add_subdirectory(glad) | ||||||
|  |  | ||||||
| # inih | # inih | ||||||
| add_subdirectory(inih) | if (NOT TARGET inih::INIReader) | ||||||
|  |     add_subdirectory(inih) | ||||||
|  | endif() | ||||||
|  |  | ||||||
| # mbedtls | # mbedtls | ||||||
| add_subdirectory(mbedtls EXCLUDE_FROM_ALL) | add_subdirectory(mbedtls EXCLUDE_FROM_ALL) | ||||||
| @@ -72,25 +75,30 @@ if (YUZU_USE_EXTERNAL_SDL2) | |||||||
| endif() | endif() | ||||||
|  |  | ||||||
| # ENet | # ENet | ||||||
| add_subdirectory(enet) | if (NOT TARGET enet::enet) | ||||||
| target_include_directories(enet INTERFACE ./enet/include) |     add_subdirectory(enet EXCLUDE_FROM_ALL) | ||||||
|  |     target_include_directories(enet INTERFACE ./enet/include) | ||||||
|  |     add_library(enet::enet ALIAS enet) | ||||||
|  | endif() | ||||||
|  |  | ||||||
| # Cubeb | # Cubeb | ||||||
| if(ENABLE_CUBEB) | if (ENABLE_CUBEB AND NOT TARGET cubeb::cubeb) | ||||||
|     set(BUILD_TESTS OFF CACHE BOOL "") |     set(BUILD_TESTS OFF CACHE BOOL "") | ||||||
|     add_subdirectory(cubeb EXCLUDE_FROM_ALL) |     add_subdirectory(cubeb EXCLUDE_FROM_ALL) | ||||||
|  |     add_library(cubeb::cubeb ALIAS cubeb) | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| # DiscordRPC | # DiscordRPC | ||||||
| if (USE_DISCORD_PRESENCE) | if (USE_DISCORD_PRESENCE AND NOT TARGET DiscordRPC::discord-rpc) | ||||||
|     add_subdirectory(discord-rpc EXCLUDE_FROM_ALL) |     add_subdirectory(discord-rpc EXCLUDE_FROM_ALL) | ||||||
|     target_include_directories(discord-rpc INTERFACE ./discord-rpc/include) |     target_include_directories(discord-rpc INTERFACE ./discord-rpc/include) | ||||||
|  |     add_library(DiscordRPC::discord-rpc ALIAS discord-rpc) | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| # Sirit | # Sirit | ||||||
| add_subdirectory(sirit) | add_subdirectory(sirit EXCLUDE_FROM_ALL) | ||||||
|  |  | ||||||
| if (ENABLE_WEB_SERVICE) | if (ENABLE_WEB_SERVICE AND NOT TARGET httplib::httplib) | ||||||
|     if (NOT WIN32) |     if (NOT WIN32) | ||||||
|         find_package(OpenSSL 1.1) |         find_package(OpenSSL 1.1) | ||||||
|         if (OPENSSL_FOUND) |         if (OPENSSL_FOUND) | ||||||
| @@ -118,18 +126,20 @@ if (ENABLE_WEB_SERVICE) | |||||||
|     if (WIN32) |     if (WIN32) | ||||||
|         target_link_libraries(httplib INTERFACE crypt32 cryptui ws2_32) |         target_link_libraries(httplib INTERFACE crypt32 cryptui ws2_32) | ||||||
|     endif() |     endif() | ||||||
|  |     add_library(httplib::httplib ALIAS httplib) | ||||||
|  | endif() | ||||||
|  |  | ||||||
|     # cpp-jwt | # cpp-jwt | ||||||
|  | if (ENABLE_WEB_SERVICE AND NOT TARGET cpp-jwt::cpp-jwt) | ||||||
|     add_library(cpp-jwt INTERFACE) |     add_library(cpp-jwt INTERFACE) | ||||||
|     target_include_directories(cpp-jwt INTERFACE ./cpp-jwt/include) |     target_include_directories(cpp-jwt INTERFACE ./cpp-jwt/include) | ||||||
|     target_compile_definitions(cpp-jwt INTERFACE CPP_JWT_USE_VENDORED_NLOHMANN_JSON) |     target_compile_definitions(cpp-jwt INTERFACE CPP_JWT_USE_VENDORED_NLOHMANN_JSON) | ||||||
|  |     add_library(cpp-jwt::cpp-jwt ALIAS cpp-jwt) | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| # Opus | # Opus | ||||||
| if (YUZU_USE_BUNDLED_OPUS) | if (NOT TARGET Opus::opus) | ||||||
|     add_subdirectory(opus EXCLUDE_FROM_ALL) |     add_subdirectory(opus EXCLUDE_FROM_ALL) | ||||||
| else() |  | ||||||
|     find_package(Opus 1.3 REQUIRED) |  | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| # FFMpeg | # FFMpeg | ||||||
| @@ -140,3 +150,8 @@ if (YUZU_USE_BUNDLED_FFMPEG) | |||||||
|     set(FFmpeg_LIBRARIES "${FFmpeg_LIBRARIES}" PARENT_SCOPE) |     set(FFmpeg_LIBRARIES "${FFmpeg_LIBRARIES}" PARENT_SCOPE) | ||||||
|     set(FFmpeg_INCLUDE_DIR "${FFmpeg_INCLUDE_DIR}" PARENT_SCOPE) |     set(FFmpeg_INCLUDE_DIR "${FFmpeg_INCLUDE_DIR}" PARENT_SCOPE) | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
|  | # Vulkan-Headers | ||||||
|  | if (NOT TARGET Vulkan::Headers) | ||||||
|  |     add_subdirectory(Vulkan-Headers EXCLUDE_FROM_ALL) | ||||||
|  | endif() | ||||||
|   | |||||||
							
								
								
									
										27
									
								
								externals/find-modules/FindDiscordRPC.cmake
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								externals/find-modules/FindDiscordRPC.cmake
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | |||||||
|  | # SPDX-FileCopyrightText: 2022 Alexandre Bouvier <contact@amb.tf> | ||||||
|  | # | ||||||
|  | # SPDX-License-Identifier: GPL-3.0-or-later | ||||||
|  |  | ||||||
|  | find_path(DiscordRPC_INCLUDE_DIR discord_rpc.h) | ||||||
|  |  | ||||||
|  | find_library(DiscordRPC_LIBRARY discord-rpc) | ||||||
|  |  | ||||||
|  | include(FindPackageHandleStandardArgs) | ||||||
|  | find_package_handle_standard_args(DiscordRPC | ||||||
|  |     REQUIRED_VARS | ||||||
|  |         DiscordRPC_LIBRARY | ||||||
|  |         DiscordRPC_INCLUDE_DIR | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | if (DiscordRPC_FOUND AND NOT TARGET DiscordRPC::discord-rpc) | ||||||
|  |     add_library(DiscordRPC::discord-rpc UNKNOWN IMPORTED) | ||||||
|  |     set_target_properties(DiscordRPC::discord-rpc PROPERTIES | ||||||
|  |         IMPORTED_LOCATION "${DiscordRPC_LIBRARY}" | ||||||
|  |         INTERFACE_INCLUDE_DIRECTORIES "${DiscordRPC_INCLUDE_DIR}" | ||||||
|  |     ) | ||||||
|  | endif() | ||||||
|  |  | ||||||
|  | mark_as_advanced( | ||||||
|  |     DiscordRPC_INCLUDE_DIR | ||||||
|  |     DiscordRPC_LIBRARY | ||||||
|  | ) | ||||||
							
								
								
									
										17
									
								
								externals/find-modules/Findenet.cmake
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								externals/find-modules/Findenet.cmake
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | |||||||
|  | # SPDX-FileCopyrightText: 2022 Alexandre Bouvier <contact@amb.tf> | ||||||
|  | # | ||||||
|  | # SPDX-License-Identifier: GPL-3.0-or-later | ||||||
|  |  | ||||||
|  | find_package(PkgConfig QUIET) | ||||||
|  | if (PKG_CONFIG_FOUND) | ||||||
|  |     pkg_search_module(ENET QUIET IMPORTED_TARGET GLOBAL libenet) | ||||||
|  |     if (ENET_FOUND) | ||||||
|  |         add_library(enet::enet ALIAS PkgConfig::ENET) | ||||||
|  |     endif() | ||||||
|  | endif() | ||||||
|  |  | ||||||
|  | include(FindPackageHandleStandardArgs) | ||||||
|  | find_package_handle_standard_args(enet | ||||||
|  |     REQUIRED_VARS ENET_LINK_LIBRARIES | ||||||
|  |     VERSION_VAR ENET_VERSION | ||||||
|  | ) | ||||||
							
								
								
									
										22
									
								
								externals/find-modules/Findhttplib.cmake
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								externals/find-modules/Findhttplib.cmake
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | |||||||
|  | # SPDX-FileCopyrightText: 2022 Andrea Pappacoda <andrea@pappacoda.it> | ||||||
|  | # | ||||||
|  | # SPDX-License-Identifier: GPL-2.0-or-later | ||||||
|  |  | ||||||
|  | include(FindPackageHandleStandardArgs) | ||||||
|  |  | ||||||
|  | find_package(httplib QUIET CONFIG) | ||||||
|  | if (httplib_FOUND) | ||||||
|  |     find_package_handle_standard_args(httplib CONFIG_MODE) | ||||||
|  | else() | ||||||
|  |     find_package(PkgConfig QUIET) | ||||||
|  |     if (PKG_CONFIG_FOUND) | ||||||
|  |         pkg_search_module(HTTPLIB QUIET IMPORTED_TARGET GLOBAL cpp-httplib) | ||||||
|  |         if (HTTPLIB_FOUND) | ||||||
|  |             add_library(httplib::httplib ALIAS PkgConfig::HTTPLIB) | ||||||
|  |         endif() | ||||||
|  |     endif() | ||||||
|  |     find_package_handle_standard_args(httplib | ||||||
|  |         REQUIRED_VARS HTTPLIB_INCLUDEDIR | ||||||
|  |         VERSION_VAR HTTPLIB_VERSION | ||||||
|  |     ) | ||||||
|  | endif() | ||||||
							
								
								
									
										17
									
								
								externals/find-modules/Findinih.cmake
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								externals/find-modules/Findinih.cmake
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | |||||||
|  | # SPDX-FileCopyrightText: 2022 Alexandre Bouvier <contact@amb.tf> | ||||||
|  | # | ||||||
|  | # SPDX-License-Identifier: GPL-3.0-or-later | ||||||
|  |  | ||||||
|  | find_package(PkgConfig QUIET) | ||||||
|  | if (PKG_CONFIG_FOUND) | ||||||
|  |     pkg_search_module(INIREADER QUIET IMPORTED_TARGET GLOBAL INIReader) | ||||||
|  |     if (INIREADER_FOUND) | ||||||
|  |         add_library(inih::INIReader ALIAS PkgConfig::INIREADER) | ||||||
|  |     endif() | ||||||
|  | endif() | ||||||
|  |  | ||||||
|  | include(FindPackageHandleStandardArgs) | ||||||
|  | find_package_handle_standard_args(inih | ||||||
|  |     REQUIRED_VARS INIREADER_LINK_LIBRARIES | ||||||
|  |     VERSION_VAR INIREADER_VERSION | ||||||
|  | ) | ||||||
							
								
								
									
										41
									
								
								externals/find-modules/Findlz4.cmake
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										41
									
								
								externals/find-modules/Findlz4.cmake
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +1,30 @@ | |||||||
| # SPDX-FileCopyrightText: 2022 yuzu Emulator Project | # SPDX-FileCopyrightText: 2022 yuzu Emulator Project | ||||||
| # SPDX-License-Identifier: GPL-2.0-or-later | # SPDX-License-Identifier: GPL-2.0-or-later | ||||||
|  |  | ||||||
| find_package(PkgConfig) |  | ||||||
|  |  | ||||||
| if (PKG_CONFIG_FOUND) |  | ||||||
|     pkg_search_module(liblz4 IMPORTED_TARGET GLOBAL liblz4) |  | ||||||
|     if (liblz4_FOUND) |  | ||||||
|         add_library(lz4::lz4 ALIAS PkgConfig::liblz4) |  | ||||||
|     endif() |  | ||||||
| endif() |  | ||||||
|  |  | ||||||
| include(FindPackageHandleStandardArgs) | include(FindPackageHandleStandardArgs) | ||||||
| find_package_handle_standard_args(lz4 |  | ||||||
|     REQUIRED_VARS | find_package(lz4 QUIET CONFIG) | ||||||
|         liblz4_LINK_LIBRARIES | if (lz4_FOUND) | ||||||
|         liblz4_FOUND |     find_package_handle_standard_args(lz4 CONFIG_MODE) | ||||||
|     VERSION_VAR liblz4_VERSION |     if (NOT TARGET lz4::lz4) | ||||||
| ) |         if (TARGET LZ4::lz4_shared) | ||||||
|  |             set_target_properties(LZ4::lz4_shared PROPERTIES IMPORTED_GLOBAL TRUE) | ||||||
|  |             add_library(lz4::lz4 ALIAS LZ4::lz4_shared) | ||||||
|  |         else() | ||||||
|  |             set_target_properties(LZ4::lz4_static PROPERTIES IMPORTED_GLOBAL TRUE) | ||||||
|  |             add_library(lz4::lz4 ALIAS LZ4::lz4_static) | ||||||
|  |         endif() | ||||||
|  |     endif() | ||||||
|  | else() | ||||||
|  |     find_package(PkgConfig QUIET) | ||||||
|  |     if (PKG_CONFIG_FOUND) | ||||||
|  |         pkg_search_module(liblz4 QUIET IMPORTED_TARGET GLOBAL liblz4) | ||||||
|  |         if (liblz4_FOUND) | ||||||
|  |             add_library(lz4::lz4 ALIAS PkgConfig::liblz4) | ||||||
|  |         endif() | ||||||
|  |     endif() | ||||||
|  |     find_package_handle_standard_args(lz4 | ||||||
|  |         REQUIRED_VARS liblz4_LINK_LIBRARIES | ||||||
|  |         VERSION_VAR liblz4_VERSION | ||||||
|  |     ) | ||||||
|  | endif() | ||||||
|   | |||||||
							
								
								
									
										41
									
								
								externals/find-modules/Findzstd.cmake
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										41
									
								
								externals/find-modules/Findzstd.cmake
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +1,30 @@ | |||||||
| # SPDX-FileCopyrightText: 2022 yuzu Emulator Project | # SPDX-FileCopyrightText: 2022 yuzu Emulator Project | ||||||
| # SPDX-License-Identifier: GPL-2.0-or-later | # SPDX-License-Identifier: GPL-2.0-or-later | ||||||
|  |  | ||||||
| find_package(PkgConfig) |  | ||||||
|  |  | ||||||
| if (PKG_CONFIG_FOUND) |  | ||||||
|     pkg_search_module(libzstd IMPORTED_TARGET GLOBAL libzstd) |  | ||||||
|     if (libzstd_FOUND) |  | ||||||
|         add_library(zstd::zstd ALIAS PkgConfig::libzstd) |  | ||||||
|     endif() |  | ||||||
| endif() |  | ||||||
|  |  | ||||||
| include(FindPackageHandleStandardArgs) | include(FindPackageHandleStandardArgs) | ||||||
| find_package_handle_standard_args(zstd |  | ||||||
|     REQUIRED_VARS | find_package(zstd QUIET CONFIG) | ||||||
|         libzstd_LINK_LIBRARIES | if (zstd_FOUND) | ||||||
|         libzstd_FOUND |     find_package_handle_standard_args(zstd CONFIG_MODE) | ||||||
|     VERSION_VAR libzstd_VERSION |     if (NOT TARGET zstd::zstd) | ||||||
| ) |         if (TARGET zstd::libzstd_shared) | ||||||
|  |             set_target_properties(zstd::libzstd_shared PROPERTIES IMPORTED_GLOBAL TRUE) | ||||||
|  |             add_library(zstd::zstd ALIAS zstd::libzstd_shared) | ||||||
|  |         else() | ||||||
|  |             set_target_properties(zstd::libzstd_static PROPERTIES IMPORTED_GLOBAL TRUE) | ||||||
|  |             add_library(zstd::zstd ALIAS zstd::libzstd_static) | ||||||
|  |         endif() | ||||||
|  |     endif() | ||||||
|  | else() | ||||||
|  |     find_package(PkgConfig QUIET) | ||||||
|  |     if (PKG_CONFIG_FOUND) | ||||||
|  |         pkg_search_module(libzstd QUIET IMPORTED_TARGET GLOBAL libzstd) | ||||||
|  |         if (libzstd_FOUND) | ||||||
|  |             add_library(zstd::zstd ALIAS PkgConfig::libzstd) | ||||||
|  |         endif() | ||||||
|  |     endif() | ||||||
|  |     find_package_handle_standard_args(zstd | ||||||
|  |         REQUIRED_VARS libzstd_LINK_LIBRARIES | ||||||
|  |         VERSION_VAR libzstd_VERSION | ||||||
|  |     ) | ||||||
|  | endif() | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								externals/inih/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								externals/inih/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							| @@ -9,4 +9,5 @@ add_library(inih | |||||||
| ) | ) | ||||||
|  |  | ||||||
| create_target_directory_groups(inih) | create_target_directory_groups(inih) | ||||||
| target_include_directories(inih INTERFACE .) | target_include_directories(inih INTERFACE inih/cpp) | ||||||
|  | add_library(inih::INIReader ALIAS inih) | ||||||
|   | |||||||
| @@ -219,11 +219,11 @@ endif() | |||||||
|  |  | ||||||
| target_link_libraries(audio_core PUBLIC common core) | target_link_libraries(audio_core PUBLIC common core) | ||||||
| if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) | if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) | ||||||
|     target_link_libraries(audio_core PRIVATE dynarmic) |     target_link_libraries(audio_core PRIVATE dynarmic::dynarmic) | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| if(ENABLE_CUBEB) | if(ENABLE_CUBEB) | ||||||
|     target_link_libraries(audio_core PRIVATE cubeb) |     target_link_libraries(audio_core PRIVATE cubeb::cubeb) | ||||||
|     target_compile_definitions(audio_core PRIVATE -DHAVE_CUBEB=1) |     target_compile_definitions(audio_core PRIVATE -DHAVE_CUBEB=1) | ||||||
| endif() | endif() | ||||||
| if(ENABLE_SDL2) | if(ENABLE_SDL2) | ||||||
|   | |||||||
| @@ -149,7 +149,7 @@ if(ARCHITECTURE_x86_64) | |||||||
|             x64/xbyak_abi.h |             x64/xbyak_abi.h | ||||||
|             x64/xbyak_util.h |             x64/xbyak_util.h | ||||||
|     ) |     ) | ||||||
|     target_link_libraries(common PRIVATE xbyak) |     target_link_libraries(common PRIVATE xbyak::xbyak) | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| if (MSVC) | if (MSVC) | ||||||
| @@ -174,17 +174,7 @@ endif() | |||||||
| create_target_directory_groups(common) | create_target_directory_groups(common) | ||||||
|  |  | ||||||
| target_link_libraries(common PUBLIC ${Boost_LIBRARIES} fmt::fmt microprofile Threads::Threads) | target_link_libraries(common PUBLIC ${Boost_LIBRARIES} fmt::fmt microprofile Threads::Threads) | ||||||
| if (TARGET lz4::lz4) | target_link_libraries(common PRIVATE lz4::lz4 zstd::zstd) | ||||||
|   target_link_libraries(common PRIVATE lz4::lz4) |  | ||||||
| else() |  | ||||||
|   target_link_libraries(common PRIVATE LZ4::lz4_shared) |  | ||||||
| endif() |  | ||||||
| if (TARGET zstd::zstd) |  | ||||||
|   target_link_libraries(common PRIVATE zstd::zstd) |  | ||||||
| else() |  | ||||||
|   target_link_libraries(common PRIVATE |  | ||||||
|     $<IF:$<TARGET_EXISTS:zstd::libzstd_shared>,zstd::libzstd_shared,zstd::libzstd_static>) |  | ||||||
| endif() |  | ||||||
|  |  | ||||||
| if (YUZU_USE_PRECOMPILED_HEADERS) | if (YUZU_USE_PRECOMPILED_HEADERS) | ||||||
|     target_precompile_headers(common PRIVATE precompiled_headers.h) |     target_precompile_headers(common PRIVATE precompiled_headers.h) | ||||||
|   | |||||||
| @@ -824,7 +824,7 @@ if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) | |||||||
|         hle/service/jit/jit.cpp |         hle/service/jit/jit.cpp | ||||||
|         hle/service/jit/jit.h |         hle/service/jit/jit.h | ||||||
|     ) |     ) | ||||||
|     target_link_libraries(core PRIVATE dynarmic) |     target_link_libraries(core PRIVATE dynarmic::dynarmic) | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| if (YUZU_USE_PRECOMPILED_HEADERS) | if (YUZU_USE_PRECOMPILED_HEADERS) | ||||||
|   | |||||||
| @@ -19,7 +19,7 @@ add_library(network STATIC | |||||||
|  |  | ||||||
| create_target_directory_groups(network) | create_target_directory_groups(network) | ||||||
|  |  | ||||||
| target_link_libraries(network PRIVATE common enet Boost::boost) | target_link_libraries(network PRIVATE common enet::enet Boost::boost) | ||||||
| if (ENABLE_WEB_SERVICE) | if (ENABLE_WEB_SERVICE) | ||||||
|     target_compile_definitions(network PRIVATE -DENABLE_WEB_SERVICE) |     target_compile_definitions(network PRIVATE -DENABLE_WEB_SERVICE) | ||||||
|     target_link_libraries(network PRIVATE web_service) |     target_link_libraries(network PRIVATE web_service) | ||||||
|   | |||||||
| @@ -264,8 +264,7 @@ target_link_options(video_core PRIVATE ${FFmpeg_LDFLAGS}) | |||||||
|  |  | ||||||
| add_dependencies(video_core host_shaders) | add_dependencies(video_core host_shaders) | ||||||
| target_include_directories(video_core PRIVATE ${HOST_SHADERS_INCLUDE}) | target_include_directories(video_core PRIVATE ${HOST_SHADERS_INCLUDE}) | ||||||
| target_include_directories(video_core PRIVATE sirit ../../externals/Vulkan-Headers/include) | target_link_libraries(video_core PRIVATE sirit Vulkan::Headers) | ||||||
| target_link_libraries(video_core PRIVATE sirit) |  | ||||||
|  |  | ||||||
| if (ENABLE_NSIGHT_AFTERMATH) | if (ENABLE_NSIGHT_AFTERMATH) | ||||||
|     if (NOT DEFINED ENV{NSIGHT_AFTERMATH_SDK}) |     if (NOT DEFINED ENV{NSIGHT_AFTERMATH_SDK}) | ||||||
| @@ -305,11 +304,11 @@ if (ARCHITECTURE_x86_64) | |||||||
|         macro/macro_jit_x64.cpp |         macro/macro_jit_x64.cpp | ||||||
|         macro/macro_jit_x64.h |         macro/macro_jit_x64.h | ||||||
|     ) |     ) | ||||||
|     target_link_libraries(video_core PUBLIC xbyak) |     target_link_libraries(video_core PUBLIC xbyak::xbyak) | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) | if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) | ||||||
|     target_link_libraries(video_core PRIVATE dynarmic) |     target_link_libraries(video_core PRIVATE dynarmic::dynarmic) | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| if (YUZU_USE_PRECOMPILED_HEADERS) | if (YUZU_USE_PRECOMPILED_HEADERS) | ||||||
|   | |||||||
| @@ -17,7 +17,7 @@ add_library(web_service STATIC | |||||||
| ) | ) | ||||||
|  |  | ||||||
| create_target_directory_groups(web_service) | create_target_directory_groups(web_service) | ||||||
| target_link_libraries(web_service PRIVATE common network nlohmann_json::nlohmann_json httplib cpp-jwt) | target_link_libraries(web_service PRIVATE common network nlohmann_json::nlohmann_json httplib::httplib cpp-jwt::cpp-jwt) | ||||||
|  |  | ||||||
| if (YUZU_USE_PRECOMPILED_HEADERS) | if (YUZU_USE_PRECOMPILED_HEADERS) | ||||||
|     target_precompile_headers(web_service PRIVATE precompiled_headers.h) |     target_precompile_headers(web_service PRIVATE precompiled_headers.h) | ||||||
|   | |||||||
| @@ -318,7 +318,7 @@ target_link_libraries(yuzu PRIVATE common core input_common network video_core) | |||||||
| target_link_libraries(yuzu PRIVATE Boost::boost glad Qt${QT_MAJOR_VERSION}::Widgets) | target_link_libraries(yuzu PRIVATE Boost::boost glad Qt${QT_MAJOR_VERSION}::Widgets) | ||||||
| target_link_libraries(yuzu PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads) | target_link_libraries(yuzu PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads) | ||||||
|  |  | ||||||
| target_include_directories(yuzu PRIVATE ../../externals/Vulkan-Headers/include) | target_link_libraries(yuzu PRIVATE Vulkan::Headers) | ||||||
| if (NOT WIN32) | if (NOT WIN32) | ||||||
|     target_include_directories(yuzu PRIVATE ${Qt${QT_MAJOR_VERSION}Gui_PRIVATE_INCLUDE_DIRS}) |     target_include_directories(yuzu PRIVATE ${Qt${QT_MAJOR_VERSION}Gui_PRIVATE_INCLUDE_DIRS}) | ||||||
| endif() | endif() | ||||||
| @@ -354,7 +354,7 @@ if (USE_DISCORD_PRESENCE) | |||||||
|         discord_impl.cpp |         discord_impl.cpp | ||||||
|         discord_impl.h |         discord_impl.h | ||||||
|     ) |     ) | ||||||
|     target_link_libraries(yuzu PRIVATE discord-rpc) |     target_link_libraries(yuzu PRIVATE DiscordRPC::discord-rpc) | ||||||
|     target_compile_definitions(yuzu PRIVATE -DUSE_DISCORD_PRESENCE) |     target_compile_definitions(yuzu PRIVATE -DUSE_DISCORD_PRESENCE) | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| @@ -411,7 +411,7 @@ if (NOT APPLE) | |||||||
| endif() | endif() | ||||||
|  |  | ||||||
| if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) | if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) | ||||||
|     target_link_libraries(yuzu PRIVATE dynarmic) |     target_link_libraries(yuzu PRIVATE dynarmic::dynarmic) | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| if (YUZU_USE_PRECOMPILED_HEADERS) | if (YUZU_USE_PRECOMPILED_HEADERS) | ||||||
|   | |||||||
| @@ -34,7 +34,7 @@ add_executable(yuzu-cmd | |||||||
| create_target_directory_groups(yuzu-cmd) | create_target_directory_groups(yuzu-cmd) | ||||||
|  |  | ||||||
| target_link_libraries(yuzu-cmd PRIVATE common core input_common) | target_link_libraries(yuzu-cmd PRIVATE common core input_common) | ||||||
| target_link_libraries(yuzu-cmd PRIVATE inih glad) | target_link_libraries(yuzu-cmd PRIVATE inih::INIReader glad) | ||||||
| if (MSVC) | if (MSVC) | ||||||
|     target_link_libraries(yuzu-cmd PRIVATE getopt) |     target_link_libraries(yuzu-cmd PRIVATE getopt) | ||||||
| endif() | endif() | ||||||
| @@ -43,7 +43,7 @@ target_link_libraries(yuzu-cmd PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads) | |||||||
| create_resource("../../dist/yuzu.bmp" "yuzu_cmd/yuzu_icon.h" "yuzu_icon") | create_resource("../../dist/yuzu.bmp" "yuzu_cmd/yuzu_icon.h" "yuzu_icon") | ||||||
| target_include_directories(yuzu-cmd PRIVATE ${RESOURCES_DIR}) | target_include_directories(yuzu-cmd PRIVATE ${RESOURCES_DIR}) | ||||||
|  |  | ||||||
| target_include_directories(yuzu-cmd PRIVATE ../../externals/Vulkan-Headers/include) | target_link_libraries(yuzu-cmd PRIVATE Vulkan::Headers) | ||||||
|  |  | ||||||
| if (YUZU_USE_EXTERNAL_SDL2) | if (YUZU_USE_EXTERNAL_SDL2) | ||||||
|     target_link_libraries(yuzu-cmd PRIVATE SDL2-static) |     target_link_libraries(yuzu-cmd PRIVATE SDL2-static) | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ | |||||||
| #pragma clang diagnostic pop | #pragma clang diagnostic pop | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| #include <inih/cpp/INIReader.h> | #include <INIReader.h> | ||||||
| #include "common/fs/file.h" | #include "common/fs/file.h" | ||||||
| #include "common/fs/fs.h" | #include "common/fs/fs.h" | ||||||
| #include "common/fs/path_util.h" | #include "common/fs/path_util.h" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user