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/Module | |
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/Module')
-rw-r--r-- | lib/Module/CMakeLists.txt | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/lib/Module/CMakeLists.txt b/lib/Module/CMakeLists.txt index 6c2a24b3..c81d395e 100644 --- a/lib/Module/CMakeLists.txt +++ b/lib/Module/CMakeLists.txt @@ -22,22 +22,31 @@ set(KLEE_MODULE_COMPONENT_SRCS RaiseAsm.cpp ) -klee_add_component(kleeModule +add_library(kleeModule ${KLEE_MODULE_COMPONENT_SRCS} ) -set(LLVM_COMPONENTS - bitreader +llvm_map_components_to_libnames(llvm_libs bitreader bitwriter codegen ipo irreader linker support -) + scalaropts + instcombine + transformutils + analysis + object + mc + binaryformat + ) + +target_link_libraries(kleeModule PRIVATE ${llvm_libs}) -klee_get_llvm_libs(LLVM_LIBS ${LLVM_COMPONENTS}) -target_link_libraries(kleeModule PUBLIC ${LLVM_LIBS}) target_link_libraries(kleeModule PRIVATE kleeSupport ) +target_include_directories(kleeModule PRIVATE ${KLEE_INCLUDE_DIRS} ${LLVM_INCLUDE_DIRS}) +target_compile_options(kleeModule PRIVATE ${KLEE_COMPONENT_CXX_FLAGS}) +target_compile_definitions(kleeModule PRIVATE ${KLEE_COMPONENT_CXX_DEFINES}) |