xref: /NextBSD/contrib/compiler-rt/lib/safestack/CMakeLists.txt (revision 84d351007654069f9643c8e4b4802a7f5f08ee42)
1add_custom_target(safestack)
2
3set(SAFESTACK_SOURCES safestack.cc)
4
5include_directories(..)
6
7set(SAFESTACK_CFLAGS ${SANITIZER_COMMON_CFLAGS})
8
9if(APPLE)
10  # Build universal binary on APPLE.
11  add_compiler_rt_osx_static_runtime(clang_rt.safestack_osx
12    ARCH ${SAFESTACK_SUPPORTED_ARCH}
13    SOURCES ${SAFESTACK_SOURCES}
14            $<TARGET_OBJECTS:RTInterception.osx>
15            $<TARGET_OBJECTS:RTSanitizerCommon.osx>
16    CFLAGS ${SAFESTACK_CFLAGS})
17  add_dependencies(safestack clang_rt.safestack_osx)
18else()
19  # Otherwise, build separate libraries for each target.
20  foreach(arch ${SAFESTACK_SUPPORTED_ARCH})
21    add_compiler_rt_runtime(clang_rt.safestack-${arch} ${arch} STATIC
22      SOURCES ${SAFESTACK_SOURCES}
23              $<TARGET_OBJECTS:RTInterception.${arch}>
24              $<TARGET_OBJECTS:RTSanitizerCommon.${arch}>
25      CFLAGS ${SAFESTACK_CFLAGS})
26    add_dependencies(safestack clang_rt.safestack-${arch})
27  endforeach()
28endif()
29