summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt39
-rw-r--r--externals/CMakeLists.txt45
-rw-r--r--externals/find-modules/FindDiscordRPC.cmake27
-rw-r--r--externals/find-modules/Findenet.cmake17
-rw-r--r--externals/find-modules/Findhttplib.cmake22
-rw-r--r--externals/find-modules/Findinih.cmake17
-rw-r--r--externals/find-modules/Findlz4.cmake37
-rw-r--r--externals/find-modules/Findzstd.cmake37
-rw-r--r--externals/inih/CMakeLists.txt3
-rw-r--r--src/audio_core/CMakeLists.txt4
-rw-r--r--src/common/CMakeLists.txt14
-rw-r--r--src/core/CMakeLists.txt2
-rw-r--r--src/network/CMakeLists.txt2
-rw-r--r--src/video_core/CMakeLists.txt7
-rw-r--r--src/web_service/CMakeLists.txt2
-rw-r--r--src/yuzu/CMakeLists.txt6
-rw-r--r--src/yuzu_cmd/CMakeLists.txt4
-rw-r--r--src/yuzu_cmd/config.cpp2
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
44option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence" OFF) 44option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence" OFF)
45 45
46option(YUZU_USE_BUNDLED_OPUS "Compile bundled opus" ON)
47
48option(YUZU_TESTS "Compile tests" ON) 46option(YUZU_TESTS "Compile tests" ON)
49 47
50option(YUZU_USE_PRECOMPILED_HEADERS "Use precompiled headers" ON) 48option(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
204find_package(fmt 8.0.1 REQUIRED CONFIG) 202find_package(enet 1.3)
205find_package(nlohmann_json 3.8 REQUIRED CONFIG) 203find_package(fmt 9 REQUIRED)
204find_package(inih)
205find_package(lz4 1.8 REQUIRED)
206find_package(nlohmann_json 3.8 REQUIRED)
207find_package(Opus 1.3)
208find_package(Vulkan 1.3.213)
206find_package(ZLIB 1.2 REQUIRED) 209find_package(ZLIB 1.2 REQUIRED)
210find_package(zstd 1.5 REQUIRED)
211
212if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64)
213 find_package(xbyak 6)
214endif()
215
216if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64)
217 find_package(dynarmic 6.2.4)
218endif()
219
220if (ENABLE_CUBEB)
221 find_package(cubeb)
222endif()
207 223
208# Search for config-only package first (for vcpkg), then try non-config 224if (USE_DISCORD_PRESENCE)
209find_package(zstd 1.5 CONFIG) 225 find_package(DiscordRPC)
210if (NOT zstd_FOUND)
211 find_package(zstd 1.5 REQUIRED)
212endif() 226endif()
213 227
214# lz4 1.8 is required, but vcpkg's lz4-config.cmake does not have version info 228if (ENABLE_WEB_SERVICE)
215find_package(lz4 CONFIG) 229 find_package(cpp-jwt 1.4)
216if (NOT lz4_FOUND) 230 find_package(httplib 0.11)
217 find_package(lz4 1.8 REQUIRED)
218endif() 231endif()
219 232
220if (YUZU_TESTS) 233if (YUZU_TESTS)
221 find_package(Catch2 2.13.7 REQUIRED CONFIG) 234 find_package(Catch2 2.13.7 REQUIRED)
222endif() 235endif()
223 236
224find_package(Boost 1.73.0 COMPONENTS context) 237find_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")
6include(DownloadExternals) 6include(DownloadExternals)
7 7
8# xbyak 8# xbyak
9if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64) 9if ((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)
11endif() 11endif()
12 12
13# Dynarmic 13# Dynarmic
14if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) 14if ((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)
18endif() 19endif()
19 20
20# getopt 21# getopt
@@ -26,7 +27,9 @@ endif()
26add_subdirectory(glad) 27add_subdirectory(glad)
27 28
28# inih 29# inih
29add_subdirectory(inih) 30if (NOT TARGET inih::INIReader)
31 add_subdirectory(inih)
32endif()
30 33
31# mbedtls 34# mbedtls
32add_subdirectory(mbedtls EXCLUDE_FROM_ALL) 35add_subdirectory(mbedtls EXCLUDE_FROM_ALL)
@@ -72,25 +75,30 @@ if (YUZU_USE_EXTERNAL_SDL2)
72endif() 75endif()
73 76
74# ENet 77# ENet
75add_subdirectory(enet) 78if (NOT TARGET enet::enet)
76target_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)
82endif()
77 83
78# Cubeb 84# Cubeb
79if(ENABLE_CUBEB) 85if (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)
82endif() 89endif()
83 90
84# DiscordRPC 91# DiscordRPC
85if (USE_DISCORD_PRESENCE) 92if (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)
88endif() 96endif()
89 97
90# Sirit 98# Sirit
91add_subdirectory(sirit) 99add_subdirectory(sirit EXCLUDE_FROM_ALL)
92 100
93if (ENABLE_WEB_SERVICE) 101if (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 130endif()
131
132# cpp-jwt
133if (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)
126endif() 138endif()
127 139
128# Opus 140# Opus
129if (YUZU_USE_BUNDLED_OPUS) 141if (NOT TARGET Opus::opus)
130 add_subdirectory(opus EXCLUDE_FROM_ALL) 142 add_subdirectory(opus EXCLUDE_FROM_ALL)
131else()
132 find_package(Opus 1.3 REQUIRED)
133endif() 143endif()
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)
142endif() 152endif()
153
154# Vulkan-Headers
155if (NOT TARGET Vulkan::Headers)
156 add_subdirectory(Vulkan-Headers EXCLUDE_FROM_ALL)
157endif()
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
5find_path(DiscordRPC_INCLUDE_DIR discord_rpc.h)
6
7find_library(DiscordRPC_LIBRARY discord-rpc)
8
9include(FindPackageHandleStandardArgs)
10find_package_handle_standard_args(DiscordRPC
11 REQUIRED_VARS
12 DiscordRPC_LIBRARY
13 DiscordRPC_INCLUDE_DIR
14)
15
16if (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 )
22endif()
23
24mark_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
5find_package(PkgConfig QUIET)
6if (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()
11endif()
12
13include(FindPackageHandleStandardArgs)
14find_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
5include(FindPackageHandleStandardArgs)
6
7find_package(httplib QUIET CONFIG)
8if (httplib_FOUND)
9 find_package_handle_standard_args(httplib CONFIG_MODE)
10else()
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 )
22endif()
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
5find_package(PkgConfig QUIET)
6if (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()
11endif()
12
13include(FindPackageHandleStandardArgs)
14find_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
4find_package(PkgConfig) 4include(FindPackageHandleStandardArgs)
5 5
6if (PKG_CONFIG_FOUND) 6find_package(lz4 QUIET CONFIG)
7 pkg_search_module(liblz4 IMPORTED_TARGET GLOBAL liblz4) 7if (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()
18else()
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 )
11endif() 30endif()
12
13include(FindPackageHandleStandardArgs)
14find_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
4find_package(PkgConfig) 4include(FindPackageHandleStandardArgs)
5 5
6if (PKG_CONFIG_FOUND) 6find_package(zstd QUIET CONFIG)
7 pkg_search_module(libzstd IMPORTED_TARGET GLOBAL libzstd) 7if (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()
18else()
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 )
11endif() 30endif()
12
13include(FindPackageHandleStandardArgs)
14find_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
11create_target_directory_groups(inih) 11create_target_directory_groups(inih)
12target_include_directories(inih INTERFACE .) 12target_include_directories(inih INTERFACE inih/cpp)
13add_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
220target_link_libraries(audio_core PUBLIC common core) 220target_link_libraries(audio_core PUBLIC common core)
221if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) 221if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64)
222 target_link_libraries(audio_core PRIVATE dynarmic) 222 target_link_libraries(audio_core PRIVATE dynarmic::dynarmic)
223endif() 223endif()
224 224
225if(ENABLE_CUBEB) 225if(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)
228endif() 228endif()
229if(ENABLE_SDL2) 229if(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)
153endif() 153endif()
154 154
155if (MSVC) 155if (MSVC)
@@ -174,17 +174,7 @@ endif()
174create_target_directory_groups(common) 174create_target_directory_groups(common)
175 175
176target_link_libraries(common PUBLIC ${Boost_LIBRARIES} fmt::fmt microprofile Threads::Threads) 176target_link_libraries(common PUBLIC ${Boost_LIBRARIES} fmt::fmt microprofile Threads::Threads)
177if (TARGET lz4::lz4) 177target_link_libraries(common PRIVATE lz4::lz4 zstd::zstd)
178 target_link_libraries(common PRIVATE lz4::lz4)
179else()
180 target_link_libraries(common PRIVATE LZ4::lz4_shared)
181endif()
182if (TARGET zstd::zstd)
183 target_link_libraries(common PRIVATE zstd::zstd)
184else()
185 target_link_libraries(common PRIVATE
186 $<IF:$<TARGET_EXISTS:zstd::libzstd_shared>,zstd::libzstd_shared,zstd::libzstd_static>)
187endif()
188 178
189if (YUZU_USE_PRECOMPILED_HEADERS) 179if (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)
828endif() 828endif()
829 829
830if (YUZU_USE_PRECOMPILED_HEADERS) 830if (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
20create_target_directory_groups(network) 20create_target_directory_groups(network)
21 21
22target_link_libraries(network PRIVATE common enet Boost::boost) 22target_link_libraries(network PRIVATE common enet::enet Boost::boost)
23if (ENABLE_WEB_SERVICE) 23if (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
265add_dependencies(video_core host_shaders) 265add_dependencies(video_core host_shaders)
266target_include_directories(video_core PRIVATE ${HOST_SHADERS_INCLUDE}) 266target_include_directories(video_core PRIVATE ${HOST_SHADERS_INCLUDE})
267target_include_directories(video_core PRIVATE sirit ../../externals/Vulkan-Headers/include) 267target_link_libraries(video_core PRIVATE sirit Vulkan::Headers)
268target_link_libraries(video_core PRIVATE sirit)
269 268
270if (ENABLE_NSIGHT_AFTERMATH) 269if (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)
309endif() 308endif()
310 309
311if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) 310if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64)
312 target_link_libraries(video_core PRIVATE dynarmic) 311 target_link_libraries(video_core PRIVATE dynarmic::dynarmic)
313endif() 312endif()
314 313
315if (YUZU_USE_PRECOMPILED_HEADERS) 314if (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
19create_target_directory_groups(web_service) 19create_target_directory_groups(web_service)
20target_link_libraries(web_service PRIVATE common network nlohmann_json::nlohmann_json httplib cpp-jwt) 20target_link_libraries(web_service PRIVATE common network nlohmann_json::nlohmann_json httplib::httplib cpp-jwt::cpp-jwt)
21 21
22if (YUZU_USE_PRECOMPILED_HEADERS) 22if (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)
318target_link_libraries(yuzu PRIVATE Boost::boost glad Qt${QT_MAJOR_VERSION}::Widgets) 318target_link_libraries(yuzu PRIVATE Boost::boost glad Qt${QT_MAJOR_VERSION}::Widgets)
319target_link_libraries(yuzu PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads) 319target_link_libraries(yuzu PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)
320 320
321target_include_directories(yuzu PRIVATE ../../externals/Vulkan-Headers/include) 321target_link_libraries(yuzu PRIVATE Vulkan::Headers)
322if (NOT WIN32) 322if (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})
324endif() 324endif()
@@ -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)
359endif() 359endif()
360 360
@@ -411,7 +411,7 @@ if (NOT APPLE)
411endif() 411endif()
412 412
413if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) 413if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64)
414 target_link_libraries(yuzu PRIVATE dynarmic) 414 target_link_libraries(yuzu PRIVATE dynarmic::dynarmic)
415endif() 415endif()
416 416
417if (YUZU_USE_PRECOMPILED_HEADERS) 417if (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
34create_target_directory_groups(yuzu-cmd) 34create_target_directory_groups(yuzu-cmd)
35 35
36target_link_libraries(yuzu-cmd PRIVATE common core input_common) 36target_link_libraries(yuzu-cmd PRIVATE common core input_common)
37target_link_libraries(yuzu-cmd PRIVATE inih glad) 37target_link_libraries(yuzu-cmd PRIVATE inih::INIReader glad)
38if (MSVC) 38if (MSVC)
39 target_link_libraries(yuzu-cmd PRIVATE getopt) 39 target_link_libraries(yuzu-cmd PRIVATE getopt)
40endif() 40endif()
@@ -43,7 +43,7 @@ target_link_libraries(yuzu-cmd PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)
43create_resource("../../dist/yuzu.bmp" "yuzu_cmd/yuzu_icon.h" "yuzu_icon") 43create_resource("../../dist/yuzu.bmp" "yuzu_cmd/yuzu_icon.h" "yuzu_icon")
44target_include_directories(yuzu-cmd PRIVATE ${RESOURCES_DIR}) 44target_include_directories(yuzu-cmd PRIVATE ${RESOURCES_DIR})
45 45
46target_include_directories(yuzu-cmd PRIVATE ../../externals/Vulkan-Headers/include) 46target_link_libraries(yuzu-cmd PRIVATE Vulkan::Headers)
47 47
48if (YUZU_USE_EXTERNAL_SDL2) 48if (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"