RUN_TESTS: 0
apt_get: elfutils mingw-w64
- - name: Clang UB sanitizer
+ - name: Clang address & UB sanitizer
os: ubuntu-20.04
CC: clang
CXX: clang++
ENABLE_CACHE_CLEANUP_TESTS: 1
- CMAKE_PARAMS: -DCMAKE_BUILD_TYPE=CI -DENABLE_SANITIZER_UNDEFINED_BEHAVIOR=ON
- ASAN_OPTIONS: detect_leaks=0
- apt_get: elfutils libzstd-dev
-
- - name: Clang address sanitizer
- os: ubuntu-20.04
- CC: clang
- CXX: clang++
- ENABLE_CACHE_CLEANUP_TESTS: 1
- CMAKE_PARAMS: -DCMAKE_BUILD_TYPE=CI -DENABLE_SANITIZER_ADDRESS=ON
+ CMAKE_PARAMS: -DCMAKE_BUILD_TYPE=CI -DENABLE_SANITIZER_ADDRESS=ON -DENABLE_SANITIZER_UNDEFINED_BEHAVIOR=ON
ASAN_OPTIONS: detect_leaks=0
apt_get: elfutils libzstd-dev
list(APPEND SANITIZERS "thread")
endif()
- if(SANITIZERS)
- string(REPLACE ";" " " LIST_OF_SANITIZERS "${SANITIZERS}")
+ foreach(SANITIZER IN LISTS SANITIZERS)
target_compile_options(
standard_settings
- INTERFACE -fsanitize=${LIST_OF_SANITIZERS})
+ INTERFACE -fsanitize=${SANITIZER})
target_link_libraries(
standard_settings
- INTERFACE -fsanitize=${LIST_OF_SANITIZERS})
- endif()
+ INTERFACE -fsanitize=${SANITIZER})
+ endforeach()
+
elseif(MSVC)
target_compile_options(standard_settings INTERFACE /std:c++latest /Zc:preprocessor /Zc:__cplusplus /D_CRT_SECURE_NO_WARNINGS)
endif()