FIND_PACKAGE(PkgConfig REQUIRED)
FIND_PACKAGE(Perl REQUIRED)
+option (SANITIZE "Enable sanitizer: address, memory, undefined, leak (comma separated list)" "")
INCLUDE(Toolset)
INCLUDE(Sanitizer)
# Ported from Clickhouse: https://github.com/ClickHouse/ClickHouse/blob/master/cmake/sanitize.cmake
-option (SANITIZE "Enable sanitizer: address, memory, undefined, leak (comma separated list)" "")
set (SAN_FLAGS "${SAN_FLAGS} -g -fno-omit-frame-pointer -DSANITIZER")
# O1 is normally set by clang, and -Og by gcc
if (COMPILER_GCC)
if(LLD_PATH)
if (COMPILER_CLANG)
set(LINKER_NAME "lld")
- else()
+ elseif(NOT SANITIZE)
if(GOLD_PATH)
set(LINKER_NAME "gold")
else()
- message(STATUS "Use generic 'ld' as a linker")
+ message(STATUS "Use generic 'ld' as a linker: gold not found")
endif()
+ else()
+ message(STATUS "Use generic 'ld' as a linker: sanitizers are enabled")
endif()
elseif(GOLD_PATH)
set(LINKER_NAME "gold")