Optional find_package for sanitizers. (#6329)
This commit is contained in:
parent
048acf81cd
commit
5a7b3592ed
@ -6,24 +6,32 @@
|
|||||||
# Add flags
|
# Add flags
|
||||||
macro(enable_sanitizer sanitizer)
|
macro(enable_sanitizer sanitizer)
|
||||||
if(${sanitizer} MATCHES "address")
|
if(${sanitizer} MATCHES "address")
|
||||||
find_package(ASan REQUIRED)
|
find_package(ASan)
|
||||||
set(SAN_COMPILE_FLAGS "${SAN_COMPILE_FLAGS} -fsanitize=address")
|
set(SAN_COMPILE_FLAGS "${SAN_COMPILE_FLAGS} -fsanitize=address")
|
||||||
link_libraries(${ASan_LIBRARY})
|
if (ASan_FOUND)
|
||||||
|
link_libraries(${ASan_LIBRARY})
|
||||||
|
endif (ASan_FOUND)
|
||||||
|
|
||||||
elseif(${sanitizer} MATCHES "thread")
|
elseif(${sanitizer} MATCHES "thread")
|
||||||
find_package(TSan REQUIRED)
|
find_package(TSan)
|
||||||
set(SAN_COMPILE_FLAGS "${SAN_COMPILE_FLAGS} -fsanitize=thread")
|
set(SAN_COMPILE_FLAGS "${SAN_COMPILE_FLAGS} -fsanitize=thread")
|
||||||
link_libraries(${TSan_LIBRARY})
|
if (TSan_FOUND)
|
||||||
|
link_libraries(${TSan_LIBRARY})
|
||||||
|
endif (TSan_FOUND)
|
||||||
|
|
||||||
elseif(${sanitizer} MATCHES "leak")
|
elseif(${sanitizer} MATCHES "leak")
|
||||||
find_package(LSan REQUIRED)
|
find_package(LSan)
|
||||||
set(SAN_COMPILE_FLAGS "${SAN_COMPILE_FLAGS} -fsanitize=leak")
|
set(SAN_COMPILE_FLAGS "${SAN_COMPILE_FLAGS} -fsanitize=leak")
|
||||||
link_libraries(${LSan_LIBRARY})
|
if (LSan_FOUND)
|
||||||
|
link_libraries(${LSan_LIBRARY})
|
||||||
|
endif (LSan_FOUND)
|
||||||
|
|
||||||
elseif(${sanitizer} MATCHES "undefined")
|
elseif(${sanitizer} MATCHES "undefined")
|
||||||
find_package(UBSan REQUIRED)
|
find_package(UBSan)
|
||||||
set(SAN_COMPILE_FLAGS "${SAN_COMPILE_FLAGS} -fsanitize=undefined -fno-sanitize-recover=undefined")
|
set(SAN_COMPILE_FLAGS "${SAN_COMPILE_FLAGS} -fsanitize=undefined -fno-sanitize-recover=undefined")
|
||||||
link_libraries(${UBSan_LIBRARY})
|
if (UBSan_FOUND)
|
||||||
|
link_libraries(${UBSan_LIBRARY})
|
||||||
|
endif (UBSan_FOUND)
|
||||||
|
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Santizer ${sanitizer} not supported.")
|
message(FATAL_ERROR "Santizer ${sanitizer} not supported.")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user