diff options
Diffstat (limited to 'compiler-rt/lib/interception')
-rw-r--r-- | compiler-rt/lib/interception/CMakeLists.txt | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/compiler-rt/lib/interception/CMakeLists.txt b/compiler-rt/lib/interception/CMakeLists.txt index 3ebeb61f08e..aacecf9b8b0 100644 --- a/compiler-rt/lib/interception/CMakeLists.txt +++ b/compiler-rt/lib/interception/CMakeLists.txt @@ -24,19 +24,23 @@ if(SUPPORTS_NO_VARIADIC_MACROS_FLAG) list(APPEND INTERCEPTION_CFLAGS -Wno-variadic-macros) endif() -set(INTERCEPTION_COMMON_DEFINITIONS) - -if(CAN_TARGET_X86_64) - add_library(RTInterception.x86_64 OBJECT ${INTERCEPTION_SOURCES}) - set_target_compile_flags(RTInterception.x86_64 - ${INTERCEPTION_CFLAGS} ${TARGET_X86_64_CFLAGS}) - set_property(TARGET RTInterception.x86_64 APPEND PROPERTY - COMPILE_DEFINITIONS ${INTERCEPTION_COMMON_DEFINITIONS}) -endif() -if(CAN_TARGET_I386) - add_library(RTInterception.i386 OBJECT ${INTERCEPTION_SOURCES}) - set_target_compile_flags(RTInterception.i386 - ${INTERCEPTION_CFLAGS} ${TARGET_I386_CFLAGS}) - set_property(TARGET RTInterception.i386 APPEND PROPERTY - COMPILE_DEFINITIONS ${INTERCEPTION_COMMON_DEFINITIONS}) +if(APPLE) + # Build universal binary on APPLE. + add_library(RTInterception.osx OBJECT ${INTERCEPTION_SOURCES}) + set_target_compile_flags(RTInterception.osx ${INTERCEPTION_CFLAGS}) + filter_available_targets(INTERCEPTION_TARGETS x86_64 i386) + set_target_properties(RTInterception.osx PROPERTIES + OSX_ARCHITECTURES "${INTERCEPTION_TARGETS}") +else() + # Otherwise, build separate libraries for each target. + if(CAN_TARGET_X86_64) + add_library(RTInterception.x86_64 OBJECT ${INTERCEPTION_SOURCES}) + set_target_compile_flags(RTInterception.x86_64 + ${INTERCEPTION_CFLAGS} ${TARGET_X86_64_CFLAGS}) + endif() + if(CAN_TARGET_I386) + add_library(RTInterception.i386 OBJECT ${INTERCEPTION_SOURCES}) + set_target_compile_flags(RTInterception.i386 + ${INTERCEPTION_CFLAGS} ${TARGET_I386_CFLAGS}) + endif() endif() |