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