From 7fbd9917dcc3cb590205331b82d8efc7322de09b Mon Sep 17 00:00:00 2001 From: Chris Bieneman Date: Wed, 9 Dec 2015 22:45:03 +0000 Subject: [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 --- test/ubsan/CMakeLists.txt | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'test/ubsan') 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() -- cgit v1.2.3