CMake: Add ENABLE_SANITIZERS flag

Enabling this flag enables AddressSanitizer and
UndefinedBehaviorSanitizer
This commit is contained in:
Max Bruckner 2017-02-07 15:07:54 +01:00
parent 21c02cd3e5
commit a09defec4c

View File

@ -43,6 +43,21 @@ if (ENABLE_CUSTOM_COMPILER_FLAGS)
) )
endif() endif()
option(ENABLE_SANITIZERS "Enables AddressSanitizer and UndefinedBehaviorSanitizer." OFF)
if (ENABLE_SANITIZERS)
list(APPEND custom_compiler_flags
-fno-omit-frame-pointer
-fsanitize=address
-fsanitize=undefined
-fsanitize=float-divide-by-zero
-fsanitize=float-cast-overflow
-fsanitize-address-use-after-scope
-fsanitize=integer
-01
-fno-sanitize-recover
)
endif()
# apply custom compiler flags # apply custom compiler flags
foreach(compiler_flag ${custom_compiler_flags}) foreach(compiler_flag ${custom_compiler_flags})
#remove problematic characters #remove problematic characters