blob: 6a8ad2f50edae2828b31a0bed9b3d678ac55eda1 [file] [log] [blame]
Peter Collingbourneb64d0b12015-06-15 21:08:47 +00001add_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}>
Evgeniy Stepanov5a268b12015-07-23 22:05:20 +000025 $<TARGET_OBJECTS:RTSanitizerCommonNoLibc.${arch}>
Peter Collingbourneb64d0b12015-06-15 21:08:47 +000026 CFLAGS ${SAFESTACK_CFLAGS})
27 add_dependencies(safestack clang_rt.safestack-${arch})
28 endforeach()
29endif()