From 4768701377056cb10ba84cc993bfad88d637ff05 Mon Sep 17 00:00:00 2001 From: Zephyron Date: Thu, 9 Jan 2025 17:24:53 +1000 Subject: [PATCH] feat: make LLVM Demangle optional via CMake flag Added new CMake option YUZU_USE_LLVM_DEMANGLE (default: ON) to control whether the project uses LLVM's Demangle component. This allows building without LLVM dependencies when demangling support is not needed. Co-authored-by: reg_server --- CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 99dee71f00..1e1a309217 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,6 +43,8 @@ option(YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES "Use Vulkan-Utility-Libraries option(YUZU_USE_EXTERNAL_VULKAN_SPIRV_TOOLS "Use SPIRV-Tools from externals" ON) +option(YUZU_USE_LLVM_DEMANGLE "Use LLVM Demangle" ON) + option(YUZU_USE_QT_MULTIMEDIA "Use QtMultimedia for Camera" OFF) option(YUZU_USE_QT_WEB_ENGINE "Use QtWebEngine for web applet implementation" OFF) @@ -300,7 +302,6 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) find_package(Boost 1.79.0 REQUIRED context) find_package(enet 1.3 MODULE) find_package(fmt 11 REQUIRED) -find_package(LLVM 17.0.2 MODULE COMPONENTS Demangle) find_package(lz4 REQUIRED) find_package(nlohmann_json 3.8 REQUIRED) find_package(Opus 1.3 MODULE) @@ -311,6 +312,10 @@ find_package(VulkanMemoryAllocator CONFIG) find_package(ZLIB 1.2 REQUIRED) find_package(zstd 1.5 REQUIRED) +if (YUZU_USE_LLVM_DEMANGLE) + find_package(LLVM 17.0.2 MODULE COMPONENTS Demangle) +endif() + if (NOT YUZU_USE_EXTERNAL_VULKAN_HEADERS) find_package(VulkanHeaders 1.3.274 REQUIRED) endif()