13cab2bb3Spatrick# Build for the runtime interception helper library. 23cab2bb3Spatrick 33cab2bb3Spatrickset(INTERCEPTION_SOURCES 43cab2bb3Spatrick interception_linux.cpp 53cab2bb3Spatrick interception_mac.cpp 63cab2bb3Spatrick interception_win.cpp 73cab2bb3Spatrick interception_type_test.cpp 83cab2bb3Spatrick ) 93cab2bb3Spatrick 103cab2bb3Spatrickset(INTERCEPTION_HEADERS 113cab2bb3Spatrick interception.h 123cab2bb3Spatrick interception_linux.h 133cab2bb3Spatrick interception_mac.h 143cab2bb3Spatrick interception_win.h 153cab2bb3Spatrick ) 163cab2bb3Spatrick 173cab2bb3Spatrickinclude_directories(..) 183cab2bb3Spatrick 193cab2bb3Spatrickset(INTERCEPTION_CFLAGS ${SANITIZER_COMMON_CFLAGS}) 203cab2bb3Spatrickappend_rtti_flag(OFF INTERCEPTION_CFLAGS) 213cab2bb3Spatrick 22*810390e3Srobert# Silence warnings in system headers with MSVC. 23*810390e3Srobertif(NOT CLANG_CL) 24*810390e3Srobert append_list_if(COMPILER_RT_HAS_EXTERNAL_FLAG "/experimental:external /external:W0 /external:anglebrackets" INTERCEPTION_CFLAGS) 25*810390e3Srobertendif() 26*810390e3Srobert 273cab2bb3Spatrickadd_compiler_rt_object_libraries(RTInterception 283cab2bb3Spatrick OS ${SANITIZER_COMMON_SUPPORTED_OS} 293cab2bb3Spatrick ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH} 303cab2bb3Spatrick SOURCES ${INTERCEPTION_SOURCES} 313cab2bb3Spatrick ADDITIONAL_HEADERS ${INTERCEPTION_HEADERS} 323cab2bb3Spatrick CFLAGS ${INTERCEPTION_CFLAGS}) 333cab2bb3Spatrick 343cab2bb3Spatrickif(COMPILER_RT_INCLUDE_TESTS) 353cab2bb3Spatrick add_subdirectory(tests) 363cab2bb3Spatrickendif() 37