From 5607a7f1910e579acc0b93b1ae2caba88e7d5fd7 Mon Sep 17 00:00:00 2001 From: Martin Nowack Date: Wed, 22 Mar 2023 11:13:20 +0000 Subject: Change `llvm_map_components_to_libnames` to `llvm_config` CMake function With recent LLVM versions, this should allow to link against dynamic LLVM libraries. --- lib/Basic/CMakeLists.txt | 3 +-- lib/Core/CMakeLists.txt | 4 ++-- lib/Expr/CMakeLists.txt | 3 +-- lib/Module/CMakeLists.txt | 5 ++--- lib/Solver/CMakeLists.txt | 4 ++-- lib/Support/CMakeLists.txt | 4 ++-- 6 files changed, 10 insertions(+), 13 deletions(-) (limited to 'lib') diff --git a/lib/Basic/CMakeLists.txt b/lib/Basic/CMakeLists.txt index 5671c144..db630893 100644 --- a/lib/Basic/CMakeLists.txt +++ b/lib/Basic/CMakeLists.txt @@ -11,8 +11,7 @@ add_library(kleeBasic Statistics.cpp ) -llvm_map_components_to_libnames(llvm_libs support) -target_link_libraries(kleeBasic PRIVATE ${llvm_libs}) +llvm_config(kleeBasic "${USE_LLVM_SHARED}" support) target_compile_options(kleeBasic PRIVATE ${KLEE_COMPONENT_CXX_FLAGS}) target_compile_definitions(kleeBasic PRIVATE ${KLEE_COMPONENT_CXX_DEFINES}) diff --git a/lib/Core/CMakeLists.txt b/lib/Core/CMakeLists.txt index 0905a7f0..fa5c2b5a 100644 --- a/lib/Core/CMakeLists.txt +++ b/lib/Core/CMakeLists.txt @@ -36,8 +36,8 @@ target_link_libraries(kleeCore PRIVATE kleeSupport ) -llvm_map_components_to_libnames(llvm_libs core executionengine mcjit native support) -target_link_libraries(kleeCore PRIVATE ${llvm_libs} ${SQLITE3_LIBRARIES}) +llvm_config(kleeCore "${USE_LLVM_SHARED}" core executionengine mcjit native support) +target_link_libraries(kleeCore PRIVATE ${SQLITE3_LIBRARIES}) target_include_directories(kleeCore PRIVATE ${KLEE_INCLUDE_DIRS} ${LLVM_INCLUDE_DIRS} ${SQLITE3_INCLUDE_DIRS}) target_compile_options(kleeCore PRIVATE ${KLEE_COMPONENT_CXX_FLAGS}) target_compile_definitions(kleeCore PRIVATE ${KLEE_COMPONENT_CXX_DEFINES}) diff --git a/lib/Expr/CMakeLists.txt b/lib/Expr/CMakeLists.txt index 6b8a873b..f9a5a83b 100644 --- a/lib/Expr/CMakeLists.txt +++ b/lib/Expr/CMakeLists.txt @@ -26,8 +26,7 @@ add_library(kleaverExpr Updates.cpp ) -llvm_map_components_to_libnames(llvm_libs support) -target_link_libraries(kleaverExpr PRIVATE ${llvm_libs}) +llvm_config(kleaverExpr "${USE_LLVM_SHARED}" support) target_include_directories(kleaverExpr PRIVATE ${KLEE_INCLUDE_DIRS} ${LLVM_INCLUDE_DIRS}) target_compile_options(kleaverExpr PRIVATE ${KLEE_COMPONENT_CXX_FLAGS}) target_compile_definitions(kleaverExpr PRIVATE ${KLEE_COMPONENT_CXX_DEFINES}) diff --git a/lib/Module/CMakeLists.txt b/lib/Module/CMakeLists.txt index c81d395e..e1f548e8 100644 --- a/lib/Module/CMakeLists.txt +++ b/lib/Module/CMakeLists.txt @@ -26,7 +26,8 @@ add_library(kleeModule ${KLEE_MODULE_COMPONENT_SRCS} ) -llvm_map_components_to_libnames(llvm_libs bitreader +llvm_config(kleeModule "${USE_LLVM_SHARED}" + bitreader bitwriter codegen ipo @@ -42,8 +43,6 @@ llvm_map_components_to_libnames(llvm_libs bitreader binaryformat ) -target_link_libraries(kleeModule PRIVATE ${llvm_libs}) - target_link_libraries(kleeModule PRIVATE kleeSupport ) diff --git a/lib/Solver/CMakeLists.txt b/lib/Solver/CMakeLists.txt index 81a64882..dbebe145 100644 --- a/lib/Solver/CMakeLists.txt +++ b/lib/Solver/CMakeLists.txt @@ -32,12 +32,12 @@ add_library(kleaverSolver Z3Solver.cpp ) -llvm_map_components_to_libnames(llvm_libs support) +llvm_config(kleaverSolver "${USE_LLVM_SHARED}" support) target_link_libraries(kleaverSolver PRIVATE kleeBasic kleaverExpr kleeSupport - ${KLEE_SOLVER_LIBRARIES} ${llvm_libs}) + ${KLEE_SOLVER_LIBRARIES}) target_include_directories(kleaverSolver PRIVATE ${KLEE_INCLUDE_DIRS} ${LLVM_INCLUDE_DIRS} ${KLEE_SOLVER_INCLUDE_DIRS}) target_compile_options(kleaverSolver PRIVATE ${KLEE_COMPONENT_CXX_FLAGS}) target_compile_definitions(kleaverSolver PRIVATE ${KLEE_COMPONENT_CXX_DEFINES}) diff --git a/lib/Support/CMakeLists.txt b/lib/Support/CMakeLists.txt index 7ff4daa3..a6f13954 100644 --- a/lib/Support/CMakeLists.txt +++ b/lib/Support/CMakeLists.txt @@ -18,9 +18,9 @@ add_library(kleeSupport TreeStream.cpp ) -llvm_map_components_to_libnames(llvm_libs support) +llvm_config(kleeSupport "${USE_LLVM_SHARED}" support) -target_link_libraries(kleeSupport PRIVATE ${llvm_libs} ${ZLIB_LIBRARIES} ${TCMALLOC_LIBRARIES}) +target_link_libraries(kleeSupport PRIVATE ${ZLIB_LIBRARIES} ${TCMALLOC_LIBRARIES}) target_include_directories(kleeSupport PRIVATE ${KLEE_INCLUDE_DIRS} ${LLVM_INCLUDE_DIRS} ${TCMALLOC_INCLUDE_DIR}) target_compile_options(kleeSupport PRIVATE ${KLEE_COMPONENT_CXX_FLAGS}) target_compile_definitions(kleeSupport PRIVATE ${KLEE_COMPONENT_CXX_DEFINES}) -- cgit 1.4.1