summaryrefslogtreecommitdiff
path: root/lib/sanitizer_common/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sanitizer_common/CMakeLists.txt')
-rw-r--r--lib/sanitizer_common/CMakeLists.txt36
1 files changed, 21 insertions, 15 deletions
diff --git a/lib/sanitizer_common/CMakeLists.txt b/lib/sanitizer_common/CMakeLists.txt
index 7780f0b6..d3f3f24f 100644
--- a/lib/sanitizer_common/CMakeLists.txt
+++ b/lib/sanitizer_common/CMakeLists.txt
@@ -23,19 +23,25 @@ set(SANITIZER_CFLAGS
-fvisibility=hidden
)
-set(SANITIZER_COMMON_DEFINITIONS)
-
-if(CAN_TARGET_X86_64)
- add_library(RTSanitizerCommon.x86_64 OBJECT ${SANITIZER_SOURCES})
- set_target_compile_flags(RTSanitizerCommon.x86_64
- ${SANITIZER_CFLAGS} ${TARGET_X86_64_CFLAGS})
- set_property(TARGET RTSanitizerCommon.x86_64 APPEND PROPERTY
- COMPILE_DEFINITIONS ${SANITIZER_COMMON_DEFINITIONS})
-endif()
-if(CAN_TARGET_I386)
- add_library(RTSanitizerCommon.i386 OBJECT ${SANITIZER_SOURCES})
- set_target_compile_flags(RTSanitizerCommon.i386
- ${SANITIZER_CFLAGS} ${TARGET_I386_CFLAGS})
- set_property(TARGET RTSanitizerCommon.i386 APPEND PROPERTY
- COMPILE_DEFINITIONS ${SANITIZER_COMMON_DEFINITIONS})
+if(APPLE)
+ # Build universal binary on APPLE.
+ add_library(RTSanitizerCommon.osx OBJECT ${SANITIZER_SOURCES})
+ set_target_compile_flags(RTSanitizerCommon.osx ${SANITIZER_CFLAGS})
+ filter_available_targets(SANITIZER_TARGETS x86_64 i386)
+ set_target_properties(RTSanitizerCommon.osx PROPERTIES
+ OSX_ARCHITECTURES "${SANITIZER_TARGETS}")
+else()
+ # Otherwise, build separate libraries for each target.
+ if(CAN_TARGET_X86_64)
+ add_library(RTSanitizerCommon.x86_64 OBJECT ${SANITIZER_SOURCES})
+ set_target_compile_flags(RTSanitizerCommon.x86_64
+ ${SANITIZER_CFLAGS} ${TARGET_X86_64_CFLAGS})
+ endif()
+ if(CAN_TARGET_I386)
+ add_library(RTSanitizerCommon.i386 OBJECT ${SANITIZER_SOURCES})
+ set_target_compile_flags(RTSanitizerCommon.i386
+ ${SANITIZER_CFLAGS} ${TARGET_I386_CFLAGS})
+ endif()
endif()
+
+# FIXME: Add support for running sanitizer_common unit tests.