xref: /openbsd-src/gnu/llvm/compiler-rt/lib/interception/CMakeLists.txt (revision 810390e339a5425391477d5d41c78d7cab2424ac)
1# Build for the runtime interception helper library.
2
3set(INTERCEPTION_SOURCES
4  interception_linux.cpp
5  interception_mac.cpp
6  interception_win.cpp
7  interception_type_test.cpp
8  )
9
10set(INTERCEPTION_HEADERS
11  interception.h
12  interception_linux.h
13  interception_mac.h
14  interception_win.h
15  )
16
17include_directories(..)
18
19set(INTERCEPTION_CFLAGS ${SANITIZER_COMMON_CFLAGS})
20append_rtti_flag(OFF INTERCEPTION_CFLAGS)
21
22# Silence warnings in system headers with MSVC.
23if(NOT CLANG_CL)
24  append_list_if(COMPILER_RT_HAS_EXTERNAL_FLAG "/experimental:external /external:W0 /external:anglebrackets" INTERCEPTION_CFLAGS)
25endif()
26
27add_compiler_rt_object_libraries(RTInterception
28    OS ${SANITIZER_COMMON_SUPPORTED_OS}
29    ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
30    SOURCES ${INTERCEPTION_SOURCES}
31    ADDITIONAL_HEADERS ${INTERCEPTION_HEADERS}
32    CFLAGS ${INTERCEPTION_CFLAGS})
33
34if(COMPILER_RT_INCLUDE_TESTS)
35  add_subdirectory(tests)
36endif()
37