From 462cd0724a289fbbe8d5d8847c1a8e8f2fdcbc3d Mon Sep 17 00:00:00 2001 From: squidbus <175574877+squidbus@users.noreply.github.com> Date: Wed, 17 Jun 2026 09:56:02 -0700 Subject: [PATCH] build: Put system library use behind flag (#4576) --- CMakeLists.txt | 72 +++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 39 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 60870e136..262bf5cb0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,6 +39,7 @@ cmake_dependent_option(ENABLE_SYSTEM_VULKAN "Enable the system Vulkan driver" OF option(ENABLE_DISCORD_RPC "Enable the Discord RPC integration" ON) option(ENABLE_UPDATER "Enables the options to updater" ON) option(ENABLE_TESTS "Build unit tests (requires GTest)" OFF) +option(ENABLE_SYSTEM_LIBRARIES "Enable building against system libraries" OFF) # First, determine whether to use CMAKE_OSX_ARCHITECTURES or CMAKE_SYSTEM_PROCESSOR. if (APPLE AND CMAKE_OSX_ARCHITECTURES) @@ -230,46 +231,39 @@ if(NOT (GIT_REMOTE_URL_LOWER MATCHES "shadps4-emu/shadps4" AND (GIT_BRANCH STREQ set(ENABLE_UPDATER OFF) endif() -list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") -find_package(Boost 1.84.0 CONFIG) -find_package(CLI11 2.6.1 CONFIG) -find_package(FFmpeg 5.1.2 MODULE) -find_package(fmt 12.0.0 CONFIG) -find_package(Freetype 2.14.1 MODULE) -find_package(glslang 15 CONFIG) -find_package(half 1.12.0 MODULE) -find_package(magic_enum 0.9.7 CONFIG) -find_package(miniupnpc 2.3.3 MODULE) -find_package(miniz 3.1 CONFIG) -find_package(nlohmann_json 3.12 CONFIG) -find_package(PNG 1.6 MODULE) -find_package(OpenAL CONFIG) -find_package(LibreSSL 4.3.1 MODULE) -find_package(RenderDoc 1.6.0 MODULE) -find_package(SDL3 3.1.2 CONFIG) -find_package(stb MODULE) -find_package(toml11 4.2.0 CONFIG) -find_package(tsl-robin-map 1.3.0 CONFIG) -find_package(VulkanHeaders 1.4.330 CONFIG) -find_package(VulkanMemoryAllocator 3.1.0 CONFIG) -find_package(xbyak 7.07 CONFIG) -find_package(xxHash 0.8.2 MODULE) -find_package(ZLIB 1.3 MODULE) -find_package(Zydis 5.0.0 MODULE) -find_package(pugixml 1.14 CONFIG) -if (APPLE) - find_package(date 3.0.1 CONFIG) - find_package(epoll-shim 3.14 CONFIG) -endif() -list(POP_BACK CMAKE_MODULE_PATH) - -if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") - # libc++ requires -fexperimental-library to enable std::jthread and std::stop_token support. - include(CheckCXXSymbolExists) - check_cxx_symbol_exists(_LIBCPP_VERSION version LIBCPP) - if(LIBCPP) - add_compile_options(-fexperimental-library) +if (ENABLE_SYSTEM_LIBRARIES) + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + find_package(Boost 1.84.0 CONFIG) + find_package(CLI11 2.6.1 CONFIG) + find_package(FFmpeg 5.1.2 MODULE) + find_package(fmt 12.0.0 CONFIG) + find_package(Freetype 2.14.1 MODULE) + find_package(glslang 15 CONFIG) + find_package(half 1.12.0 MODULE) + find_package(magic_enum 0.9.7 CONFIG) + find_package(miniupnpc 2.3.3 MODULE) + find_package(miniz 3.1 CONFIG) + find_package(nlohmann_json 3.12 CONFIG) + find_package(PNG 1.6 MODULE) + find_package(OpenAL CONFIG) + find_package(LibreSSL 4.3.1 MODULE) + find_package(RenderDoc 1.6.0 MODULE) + find_package(SDL3 3.1.2 CONFIG) + find_package(stb MODULE) + find_package(toml11 4.2.0 CONFIG) + find_package(tsl-robin-map 1.3.0 CONFIG) + find_package(VulkanHeaders 1.4.330 CONFIG) + find_package(VulkanMemoryAllocator 3.1.0 CONFIG) + find_package(xbyak 7.07 CONFIG) + find_package(xxHash 0.8.2 MODULE) + find_package(ZLIB 1.3 MODULE) + find_package(Zydis 5.0.0 MODULE) + find_package(pugixml 1.14 CONFIG) + if (APPLE) + find_package(date 3.0.1 CONFIG) + find_package(epoll-shim 3.14 CONFIG) endif() + list(POP_BACK CMAKE_MODULE_PATH) endif() add_subdirectory(externals)