From 4bf4d6565e503df0a6fc3e2dd75c722591b19ec2 Mon Sep 17 00:00:00 2001 From: Alexandre Bouvier Date: Mon, 28 Nov 2022 00:06:31 +0100 Subject: [PATCH] cmake: allow shared llvm linking --- CMakeLists.txt | 3 --- src/dynarmic/CMakeLists.txt | 9 ++++++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a8f7a175..23e62ca0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -139,9 +139,6 @@ endif() if (DYNARMIC_USE_LLVM) find_package(LLVM REQUIRED CONFIG) - include_directories(${LLVM_INCLUDE_DIRS}) - add_definitions(-DDYNARMIC_USE_LLVM ${LLVM_DEFINITIONS}) - llvm_map_components_to_libnames(llvm_libs armdesc armdisassembler aarch64desc aarch64disassembler x86desc x86disassembler) endif() if (DYNARMIC_TESTS) diff --git a/src/dynarmic/CMakeLists.txt b/src/dynarmic/CMakeLists.txt index 313c9fab..85a118cf 100644 --- a/src/dynarmic/CMakeLists.txt +++ b/src/dynarmic/CMakeLists.txt @@ -454,8 +454,15 @@ target_link_libraries(dynarmic fmt::fmt merry::mcl tsl::robin_map - "$<$:${llvm_libs}>" ) +if (DYNARMIC_USE_LLVM) + target_include_directories(dynarmic PRIVATE ${LLVM_INCLUDE_DIRS}) + target_compile_definitions(dynarmic PRIVATE DYNARMIC_USE_LLVM=1 ${LLVM_DEFINITIONS}) + if (BUILD_SHARED_LIBS) + set(USE_SHARED "USE_SHARED") + endif() + llvm_config(dynarmic ${USE_SHARED} armdesc armdisassembler aarch64desc aarch64disassembler x86desc x86disassembler) +endif() if (DYNARMIC_ENABLE_CPU_FEATURE_DETECTION) target_compile_definitions(dynarmic PRIVATE DYNARMIC_ENABLE_CPU_FEATURE_DETECTION=1) endif()