@@ -85,6 +85,7 @@ ENDIF() | |||
FIND_PACKAGE(PkgConfig REQUIRED) | |||
FIND_PACKAGE(Perl REQUIRED) | |||
option (SANITIZE "Enable sanitizer: address, memory, undefined, leak (comma separated list)" "") | |||
INCLUDE(Toolset) | |||
INCLUDE(Sanitizer) | |||
@@ -1,6 +1,5 @@ | |||
# 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) |
@@ -80,12 +80,14 @@ if(NOT LINKER_NAME) | |||
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") |