diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Basic/CMakeLists.txt | 13 | ||||
-rw-r--r-- | lib/Core/CMakeLists.txt | 20 | ||||
-rw-r--r-- | lib/Expr/CMakeLists.txt | 12 | ||||
-rw-r--r-- | lib/Module/CMakeLists.txt | 21 | ||||
-rw-r--r-- | lib/Solver/CMakeLists.txt | 15 | ||||
-rw-r--r-- | lib/Support/CMakeLists.txt | 13 |
6 files changed, 48 insertions, 46 deletions
diff --git a/lib/Basic/CMakeLists.txt b/lib/Basic/CMakeLists.txt index d156116f..5671c144 100644 --- a/lib/Basic/CMakeLists.txt +++ b/lib/Basic/CMakeLists.txt @@ -6,13 +6,14 @@ # License. See LICENSE.TXT for details. # #===------------------------------------------------------------------------===# -klee_add_component(kleeBasic +add_library(kleeBasic KTest.cpp Statistics.cpp ) -set(LLVM_COMPONENTS - support -) -klee_get_llvm_libs(LLVM_LIBS ${LLVM_COMPONENTS}) -target_link_libraries(kleeBasic PUBLIC ${LLVM_LIBS}) +llvm_map_components_to_libnames(llvm_libs support) +target_link_libraries(kleeBasic PRIVATE ${llvm_libs}) +target_compile_options(kleeBasic PRIVATE ${KLEE_COMPONENT_CXX_FLAGS}) +target_compile_definitions(kleeBasic PRIVATE ${KLEE_COMPONENT_CXX_DEFINES}) + +target_include_directories(kleeBasic PRIVATE ${KLEE_INCLUDE_DIRS}) 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}) diff --git a/lib/Expr/CMakeLists.txt b/lib/Expr/CMakeLists.txt index f469a1de..6b8a873b 100644 --- a/lib/Expr/CMakeLists.txt +++ b/lib/Expr/CMakeLists.txt @@ -6,7 +6,7 @@ # License. See LICENSE.TXT for details. # #===------------------------------------------------------------------------===# -klee_add_component(kleaverExpr +add_library(kleaverExpr ArrayCache.cpp ArrayExprOptimizer.cpp ArrayExprRewriter.cpp @@ -26,8 +26,8 @@ klee_add_component(kleaverExpr Updates.cpp ) -set(LLVM_COMPONENTS - support -) -klee_get_llvm_libs(LLVM_LIBS ${LLVM_COMPONENTS}) -target_link_libraries(kleaverExpr PUBLIC ${LLVM_LIBS}) +llvm_map_components_to_libnames(llvm_libs support) +target_link_libraries(kleaverExpr PRIVATE ${llvm_libs}) +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 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}) 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}) + diff --git a/lib/Support/CMakeLists.txt b/lib/Support/CMakeLists.txt index 7145930f..7ff4daa3 100644 --- a/lib/Support/CMakeLists.txt +++ b/lib/Support/CMakeLists.txt @@ -6,7 +6,7 @@ # License. See LICENSE.TXT for details. # #===------------------------------------------------------------------------===# -klee_add_component(kleeSupport +add_library(kleeSupport CompressionStream.cpp ErrorHandling.cpp FileHandling.cpp @@ -18,10 +18,9 @@ klee_add_component(kleeSupport TreeStream.cpp ) -target_link_libraries(kleeSupport PRIVATE ${ZLIB_LIBRARIES}) +llvm_map_components_to_libnames(llvm_libs support) -set(LLVM_COMPONENTS - support -) -klee_get_llvm_libs(LLVM_LIBS ${LLVM_COMPONENTS}) -target_link_libraries(kleeSupport PUBLIC ${LLVM_LIBS}) +target_link_libraries(kleeSupport PRIVATE ${llvm_libs} ${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}) |