-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
41 lines (33 loc) · 1.25 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
cmake_minimum_required(VERSION 3.4)
project(symsan VERSION 1.2.2 LANGUAGES C CXX ASM)
find_package(LLVM 12 REQUIRED CONFIG)
if (LLVM_FOUND)
message(STATUS "LLVM_VERSION_MAJOR: ${LLVM_VERSION_MAJOR}")
message(STATUS "LLVM_VERSION_MINOR: ${LLVM_VERSION_MINOR}")
message(STATUS "LLVM_VERSION_PATCH: ${LLVM_VERSION_PATCH}")
else()
message(FATAL_ERROR "You haven't install LLVM !")
endif()
if (NOT TARGET LLVMPassConfig)
add_library(LLVMPassConfig INTERFACE IMPORTED)
set_target_properties(LLVMPassConfig PROPERTIES
INTERFACE_COMPILE_OPTIONS "-fno-rtti" #-fpic
INTERFACE_INCLUDE_DIRECTORIES "${LLVM_INCLUDE_DIRS}"
INTERFACE_LINK_DIRECTORIES "${LLVM_LIBRARY_DIRS}"
INTERFACE_COMPILE_DEFINITIONS "LLVM_VERSION_MAJOR=${LLVM_VERSION_MAJOR};LLVM_VERSION_MINOR=${LLVM_VERSION_MINOR};"
# INTERFACE_LINK_OPTIONS "-Wl,-znodelete"
)
endif()
include_directories(${LLVM_INCLUDE_DIRS})
add_definitions(${LLVM_DEFINITIONS})
include_directories(include)
set(SYMSAN_BIN_DIR "bin")
set(SYMSAN_LIB_DIR "lib/symsan")
add_subdirectory(compiler)
add_subdirectory(instrumentation)
add_subdirectory(runtime)
add_subdirectory(wrappers)
add_subdirectory(solvers)
add_subdirectory(driver)
add_subdirectory(tests)
add_subdirectory(libcxx)