summaryrefslogtreecommitdiff
path: root/test/ubsan/CMakeLists.txt
diff options
context:
space:
mode:
authorChris Bieneman <beanz@apple.com>2015-12-09 22:45:03 +0000
committerChris Bieneman <beanz@apple.com>2015-12-09 22:45:03 +0000
commit7fbd9917dcc3cb590205331b82d8efc7322de09b (patch)
treed739b38cd8e4037d64487ed66f26b5bc83437860 /test/ubsan/CMakeLists.txt
parent30373afde77e6540e2768c164142af7d716cdb03 (diff)
[CMake] Provide options for toggling on and off various runtime libraries.
Summary: Rather than having to add new "experimental" options each time someone wants to work on bringing a sanitizer to a new platform, this patch makes options for all of them. The default values for the options are set by the platform checks that would have enabled them, but they can be overridden on or off. Reviewers: kubabrecka, samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D14846 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@255170 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/ubsan/CMakeLists.txt')
-rw-r--r--test/ubsan/CMakeLists.txt14
1 files changed, 11 insertions, 3 deletions
diff --git a/test/ubsan/CMakeLists.txt b/test/ubsan/CMakeLists.txt
index 0938ea2b1..f61b0b303 100644
--- a/test/ubsan/CMakeLists.txt
+++ b/test/ubsan/CMakeLists.txt
@@ -20,6 +20,10 @@ if(APPLE)
darwin_filter_host_archs(UBSAN_SUPPORTED_ARCH UBSAN_TEST_ARCH)
endif()
+check_list_contains(HAS_ASAN COMPILER_RT_RUNTIMES_TO_BUILD asan)
+check_list_contains(HAS_MSAN COMPILER_RT_RUNTIMES_TO_BUILD msan)
+check_list_contains(HAS_TSAN COMPILER_RT_RUNTIMES_TO_BUILD tsan)
+
foreach(arch ${UBSAN_TEST_ARCH})
set(UBSAN_TEST_TARGET_ARCH ${arch})
if(${arch} MATCHES "arm|aarch64")
@@ -31,13 +35,17 @@ foreach(arch ${UBSAN_TEST_ARCH})
endif()
add_ubsan_testsuite("Standalone" ubsan ${arch})
- if(COMPILER_RT_HAS_ASAN AND ";${ASAN_SUPPORTED_ARCH};" MATCHES ";${arch};")
+ check_list_contains(ASAN_HAS_ARCH ASAN_SUPPORTED_ARCH ${arch})
+ check_list_contains(MSAN_HAS_ARCH MSAN_SUPPORTED_ARCH ${arch})
+ check_list_contains(TSAN_HAS_ARCH TSAN_SUPPORTED_ARCH ${arch})
+
+ if(HAS_ASAN AND ASAN_HAS_ARCH)
add_ubsan_testsuite("AddressSanitizer" asan ${arch})
endif()
- if(COMPILER_RT_HAS_MSAN AND ";${MSAN_SUPPORTED_ARCH};" MATCHES ";${arch};")
+ if(HAS_MSAN AND MSAN_HAS_ARCH)
add_ubsan_testsuite("MemorySanitizer" msan ${arch})
endif()
- if(COMPILER_RT_HAS_TSAN AND ";${TSAN_SUPPORTED_ARCH};" MATCHES ";${arch};")
+ if(HAS_TSAN AND TSAN_HAS_ARCH)
add_ubsan_testsuite("ThreadSanitizer" tsan ${arch})
endif()
endforeach()