summaryrefslogtreecommitdiff
path: root/test/ubsan/CMakeLists.txt
diff options
context:
space:
mode:
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()