about summary refs log tree commit diff homepage
path: root/lib/Solver
diff options
context:
space:
mode:
authorMartin Nowack <m.nowack@imperial.ac.uk>2023-02-23 21:47:53 +0000
committerCristian Cadar <c.cadar@imperial.ac.uk>2023-03-17 22:38:16 +0000
commit3ef5c9d0cd51babb7c4ec2d7bb76d0cb7e47a65c (patch)
treea2cb9e4c193d674b4f49634d0f546b65ce547860 /lib/Solver
parent7a4a9b9b47d2fe9b90cee95d68d89faa24a118d4 (diff)
downloadklee-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/Solver')
-rw-r--r--lib/Solver/CMakeLists.txt15
1 files changed, 7 insertions, 8 deletions
diff --git a/lib/Solver/CMakeLists.txt b/lib/Solver/CMakeLists.txt
index 31c8302a..81a64882 100644
--- a/lib/Solver/CMakeLists.txt
+++ b/lib/Solver/CMakeLists.txt
@@ -6,7 +6,7 @@
 # License. See LICENSE.TXT for details.
 #
 #===------------------------------------------------------------------------===#
-klee_add_component(kleaverSolver
+add_library(kleaverSolver
   AssignmentValidatingSolver.cpp
   CachingSolver.cpp
   CexCachingSolver.cpp
@@ -32,15 +32,14 @@ klee_add_component(kleaverSolver
   Z3Solver.cpp
 )
 
-set(LLVM_COMPONENTS
-  support
-)
-klee_get_llvm_libs(LLVM_LIBS ${LLVM_COMPONENTS})
-target_link_libraries(kleaverSolver PUBLIC ${LLVM_LIBS})
-
+llvm_map_components_to_libnames(llvm_libs support)
 target_link_libraries(kleaverSolver PRIVATE
   kleeBasic
   kleaverExpr
   kleeSupport
-  ${KLEE_SOLVER_LIBRARIES})
+  ${KLEE_SOLVER_LIBRARIES} ${llvm_libs})
+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})
+