summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexandre Bouvier2023-11-03 19:27:08 +0100
committerGravatar Alexandre Bouvier2023-11-30 16:54:00 +0100
commitd2bb9e9729bbdeb396817c2335c4fafbf5ac94a2 (patch)
treef09b1f3a4c07ffdd1ba36ad6993a3220c5fbdf0b
parentMerge pull request #12229 from liamwhite/qcom-wtf (diff)
downloadyuzu-d2bb9e9729bbdeb396817c2335c4fafbf5ac94a2.tar.gz
yuzu-d2bb9e9729bbdeb396817c2335c4fafbf5ac94a2.tar.xz
yuzu-d2bb9e9729bbdeb396817c2335c4fafbf5ac94a2.zip
cmake: prefer system gamemode library
Diffstat (limited to '')
-rw-r--r--.reuse/dep54
-rw-r--r--CMakeLists.txt4
-rw-r--r--CMakeModules/Findgamemode.cmake15
-rw-r--r--externals/CMakeLists.txt6
-rw-r--r--externals/gamemode/CMakeLists.txt11
-rw-r--r--externals/gamemode/gamemode_client.h (renamed from externals/gamemode/include/gamemode_client.h)3
-rw-r--r--src/common/CMakeLists.txt2
-rw-r--r--src/yuzu/CMakeLists.txt2
8 files changed, 29 insertions, 18 deletions
diff --git a/.reuse/dep5 b/.reuse/dep5
index d682fbdba..d98b78087 100644
--- a/.reuse/dep5
+++ b/.reuse/dep5
@@ -151,3 +151,7 @@ License: GPL-3.0-or-later
151Files: externals/stb/* 151Files: externals/stb/*
152Copyright: Sean Barrett 152Copyright: Sean Barrett
153License: MIT 153License: MIT
154
155Files: externals/gamemode/*
156Copyright: Copyright 2017-2019 Feral Interactive
157License: BSD-3-Clause
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 599f7c831..18b8f7967 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -343,6 +343,10 @@ if(ENABLE_OPENSSL)
343 find_package(OpenSSL 1.1.1 REQUIRED) 343 find_package(OpenSSL 1.1.1 REQUIRED)
344endif() 344endif()
345 345
346if (UNIX AND NOT APPLE)
347 find_package(gamemode 1.7 MODULE)
348endif()
349
346# Please consider this as a stub 350# Please consider this as a stub
347if(ENABLE_QT6 AND Qt6_LOCATION) 351if(ENABLE_QT6 AND Qt6_LOCATION)
348 list(APPEND CMAKE_PREFIX_PATH "${Qt6_LOCATION}") 352 list(APPEND CMAKE_PREFIX_PATH "${Qt6_LOCATION}")
diff --git a/CMakeModules/Findgamemode.cmake b/CMakeModules/Findgamemode.cmake
new file mode 100644
index 000000000..aa2f36683
--- /dev/null
+++ b/CMakeModules/Findgamemode.cmake
@@ -0,0 +1,15 @@
1# SPDX-FileCopyrightText: 2023 yuzu Emulator Project
2# SPDX-License-Identifier: GPL-2.0-or-later
3
4find_package(PkgConfig QUIET)
5pkg_search_module(GAMEMODE QUIET IMPORTED_TARGET gamemode)
6
7include(FindPackageHandleStandardArgs)
8find_package_handle_standard_args(gamemode
9 REQUIRED_VARS GAMEMODE_INCLUDEDIR
10 VERSION_VAR GAMEMODE_VERSION
11)
12
13if (gamemode_FOUND AND NOT TARGET gamemode::headers)
14 add_library(gamemode::headers ALIAS PkgConfig::GAMEMODE)
15endif()
diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt
index 04007a538..407c5c640 100644
--- a/externals/CMakeLists.txt
+++ b/externals/CMakeLists.txt
@@ -193,8 +193,10 @@ if (ANDROID)
193 endif() 193 endif()
194endif() 194endif()
195 195
196if (UNIX AND NOT APPLE) 196if (UNIX AND NOT APPLE AND NOT TARGET gamemode::headers)
197 add_subdirectory(gamemode) 197 add_library(gamemode INTERFACE)
198 target_include_directories(gamemode INTERFACE gamemode)
199 add_library(gamemode::headers ALIAS gamemode)
198endif() 200endif()
199 201
200# Breakpad 202# Breakpad
diff --git a/externals/gamemode/CMakeLists.txt b/externals/gamemode/CMakeLists.txt
deleted file mode 100644
index 87095642e..000000000
--- a/externals/gamemode/CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
1# SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
2# SPDX-License-Identifier: GPL-3.0-or-later
3
4project(gamemode LANGUAGES CXX C)
5
6add_library(gamemode include/gamemode_client.h)
7
8target_link_libraries(gamemode PRIVATE common)
9
10target_include_directories(gamemode PUBLIC include)
11set_target_properties(gamemode PROPERTIES LINKER_LANGUAGE C)
diff --git a/externals/gamemode/include/gamemode_client.h b/externals/gamemode/gamemode_client.h
index 184812334..b9f64fe46 100644
--- a/externals/gamemode/include/gamemode_client.h
+++ b/externals/gamemode/gamemode_client.h
@@ -1,6 +1,3 @@
1// SPDX-FileCopyrightText: Copyright 2017-2019 Feral Interactive
2// SPDX-License-Identifier: BSD-3-Clause
3
4/* 1/*
5 2
6Copyright (c) 2017-2019, Feral Interactive 3Copyright (c) 2017-2019, Feral Interactive
diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt
index 2c6fc7657..b58a7073f 100644
--- a/src/common/CMakeLists.txt
+++ b/src/common/CMakeLists.txt
@@ -188,7 +188,7 @@ if (UNIX AND NOT APPLE)
188 linux/gamemode.h 188 linux/gamemode.h
189 ) 189 )
190 190
191 target_link_libraries(common PRIVATE gamemode) 191 target_link_libraries(common PRIVATE gamemode::headers)
192endif() 192endif()
193 193
194if(ARCHITECTURE_x86_64) 194if(ARCHITECTURE_x86_64)
diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt
index f3ad2214b..90278052a 100644
--- a/src/yuzu/CMakeLists.txt
+++ b/src/yuzu/CMakeLists.txt
@@ -386,7 +386,7 @@ if (NOT WIN32)
386 target_include_directories(yuzu PRIVATE ${Qt${QT_MAJOR_VERSION}Gui_PRIVATE_INCLUDE_DIRS}) 386 target_include_directories(yuzu PRIVATE ${Qt${QT_MAJOR_VERSION}Gui_PRIVATE_INCLUDE_DIRS})
387endif() 387endif()
388if (UNIX AND NOT APPLE) 388if (UNIX AND NOT APPLE)
389 target_link_libraries(yuzu PRIVATE Qt${QT_MAJOR_VERSION}::DBus gamemode) 389 target_link_libraries(yuzu PRIVATE Qt${QT_MAJOR_VERSION}::DBus)
390endif() 390endif()
391 391
392target_compile_definitions(yuzu PRIVATE 392target_compile_definitions(yuzu PRIVATE