Enable optional use of ASAN
AdressSanitizer is a lightweight memory error detector that instruments at compile time instead of at execution time. This allows serious memory errors to be detected without the cost of slowing down the whole program that often happens when Valgrind is used. It is also easier to enable for test runs as it is a simple compiler flag.
This commit is contained in:
@ -43,6 +43,7 @@ find_package(LibUUID)
|
||||
find_package(Avro)
|
||||
find_package(GSSAPI)
|
||||
find_package(SQLite)
|
||||
find_package(ASAN)
|
||||
|
||||
# Build PCRE2 so we always know the version
|
||||
# Read BuildPCRE2 for details about how to add pcre2 as a dependency to a target
|
||||
@ -163,6 +164,11 @@ else()
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLAGS}")
|
||||
endif()
|
||||
|
||||
if (WITH_ASAN AND ASAN_FOUND)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${DEBUG_FLAGS} -DSS_DEBUG -DLOG_ASSERT")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Wno-uninitialized")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -ggdb -Wno-uninitialized")
|
||||
|
Reference in New Issue
Block a user