diff options
author | Martin Nowack <m.nowack@imperial.ac.uk> | 2023-02-23 21:47:53 +0000 |
---|---|---|
committer | Cristian Cadar <c.cadar@imperial.ac.uk> | 2023-03-17 22:38:16 +0000 |
commit | 3ef5c9d0cd51babb7c4ec2d7bb76d0cb7e47a65c (patch) | |
tree | a2cb9e4c193d674b4f49634d0f546b65ce547860 /lib/Core | |
parent | 7a4a9b9b47d2fe9b90cee95d68d89faa24a118d4 (diff) | |
download | klee-3ef5c9d0cd51babb7c4ec2d7bb76d0cb7e47a65c.tar.gz |
[cmake] Use LLVM's CMake functionality only
LLVM became more complex, use LLVM's CMake functionality directly instead of replicating this behaviour in KLEE's build system. Use the correct build flags provided by LLVM itself. This is influenced by the way LLVM is built in the first place. Remove older CMake support (< 3.0).
Diffstat (limited to 'lib/Core')
-rw-r--r-- | lib/Core/CMakeLists.txt | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/lib/Core/CMakeLists.txt b/lib/Core/CMakeLists.txt index de52cd11..0905a7f0 100644 --- a/lib/Core/CMakeLists.txt +++ b/lib/Core/CMakeLists.txt @@ -6,7 +6,7 @@ # License. See LICENSE.TXT for details. # #===------------------------------------------------------------------------===# -klee_add_component(kleeCore +add_library(kleeCore AddressSpace.cpp MergeHandler.cpp CallPathManager.cpp @@ -28,18 +28,6 @@ klee_add_component(kleeCore UserSearcher.cpp ) -# TODO: Work out what the correct LLVM components are for -# kleeCore. -set(LLVM_COMPONENTS - core - executionengine - mcjit - native - support -) - -klee_get_llvm_libs(LLVM_LIBS ${LLVM_COMPONENTS}) -target_link_libraries(kleeCore PUBLIC ${LLVM_LIBS} ${SQLITE3_LIBRARIES}) target_link_libraries(kleeCore PRIVATE kleeBasic kleeModule @@ -47,3 +35,9 @@ target_link_libraries(kleeCore PRIVATE kleaverExpr kleeSupport ) + +llvm_map_components_to_libnames(llvm_libs core executionengine mcjit native support) +target_link_libraries(kleeCore PRIVATE ${llvm_libs} ${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}) |