From dfda29b8832cce7f67d107790a8eee6df533b4e6 Mon Sep 17 00:00:00 2001 From: crueter Date: Mon, 28 Jul 2025 12:47:03 -0400 Subject: [PATCH] [dynarmic] fix unordered_dense sys installs Signed-off-by: crueter --- externals/dynarmic/CMakeLists.txt | 8 +++---- externals/dynarmic/externals/CMakeLists.txt | 24 +++++++++---------- .../dynarmic/src/dynarmic/CMakeLists.txt | 12 +++++++++- 3 files changed, 27 insertions(+), 17 deletions(-) diff --git a/externals/dynarmic/CMakeLists.txt b/externals/dynarmic/CMakeLists.txt index 69fa9b78c0..3e542c55e5 100644 --- a/externals/dynarmic/CMakeLists.txt +++ b/externals/dynarmic/CMakeLists.txt @@ -144,12 +144,12 @@ if (DYNARMIC_USE_BUNDLED_EXTERNALS) set(CMAKE_DISABLE_FIND_PACKAGE_oaknut ON) set(CMAKE_DISABLE_FIND_PACKAGE_unordered_dense ON) set(CMAKE_DISABLE_FIND_PACKAGE_xbyak ON) - - set(CPM_USE_LOCAL_PACKAGES OFF) -else() - set(CPM_USE_LOCAL_PACKAGES ON) + set(CMAKE_DISABLE_FIND_PACKAGE_Zydis ON) + set(CMAKE_DISABLE_FIND_PACKAGE_Zycore ON) endif() +set(CPM_USE_LOCAL_PACKAGES ON) + find_package(Boost 1.57 REQUIRED) find_package(fmt 9 CONFIG) find_package(mcl 0.1.12 EXACT CONFIG) diff --git a/externals/dynarmic/externals/CMakeLists.txt b/externals/dynarmic/externals/CMakeLists.txt index 0e57588184..d8430f6ba7 100644 --- a/externals/dynarmic/externals/CMakeLists.txt +++ b/externals/dynarmic/externals/CMakeLists.txt @@ -1,5 +1,4 @@ include(CPM) -set(CPM_USE_LOCAL_PACKAGES ON) # Always build externals as static libraries, even when dynarmic is built as shared if (BUILD_SHARED_LIBS) @@ -67,6 +66,7 @@ CPMAddPackage( URL "https://github.com/Lizzie841/unordered_dense/archive/e59d30b7b1.zip" OPTIONS "UNORDERED_DENSE_INSTALL ON" + FIND_PACKAGE_ARGUMENTS "CONFIG" ) # xbyak @@ -86,15 +86,15 @@ if ("x86_64" IN_LIST ARCHITECTURE) URL "https://github.com/zyantific/zycore-c/archive/75a36c45ae.zip" ) -CPMAddPackage( - NAME Zydis - VERSION 4 - URL "https://github.com/zyantific/zydis/archive/c2d2bab025.zip" - OPTIONS - "ZYDIS_BUILD_TOOLS OFF" - "ZYDIS_BUILD_EXAMPLES OFF" - "ZYDIS_BUILD_DOXYGEN OFF" - "ZYAN_ZYCORE_PATH ${Zycore_SOURCE_DIR}" - "CMAKE_DISABLE_FIND_PACKAGE_Doxygen ON" -) + CPMAddPackage( + NAME Zydis + VERSION 4 + URL "https://github.com/zyantific/zydis/archive/c2d2bab025.zip" + OPTIONS + "ZYDIS_BUILD_TOOLS OFF" + "ZYDIS_BUILD_EXAMPLES OFF" + "ZYDIS_BUILD_DOXYGEN OFF" + "ZYAN_ZYCORE_PATH ${Zycore_SOURCE_DIR}" + "CMAKE_DISABLE_FIND_PACKAGE_Doxygen ON" + ) endif() diff --git a/externals/dynarmic/src/dynarmic/CMakeLists.txt b/externals/dynarmic/src/dynarmic/CMakeLists.txt index 3acecfa06b..3402d3d743 100644 --- a/externals/dynarmic/src/dynarmic/CMakeLists.txt +++ b/externals/dynarmic/src/dynarmic/CMakeLists.txt @@ -399,13 +399,23 @@ set_target_properties(dynarmic PROPERTIES VERSION ${dynarmic_VERSION} SOVERSION ${dynarmic_VERSION_MAJOR}.${dynarmic_VERSION_MINOR} ) + +if (TARGET unordered_dense::unordered_dense) + message(STATUS "Found system unordered_dense kjbgjdskfsdfb") + + # weird quirk of system installs + target_link_libraries(dynarmic + PRIVATE + unordered_dense::unordered_dense + ) +endif() + target_compile_options(dynarmic PRIVATE ${DYNARMIC_CXX_FLAGS}) target_link_libraries(dynarmic PRIVATE Boost::boost fmt::fmt merry::mcl - unordered_dense ) if (DYNARMIC_USE_LLVM) target_include_directories(dynarmic PRIVATE ${LLVM_INCLUDE_DIRS})