xref: /openbsd-src/gnu/llvm/compiler-rt/lib/interception/CMakeLists.txt (revision 810390e339a5425391477d5d41c78d7cab2424ac)
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