From 5a7b3592ed4e7a0d348b0f30db9a26e7103e2fca Mon Sep 17 00:00:00 2001 From: Jiaming Yuan Date: Mon, 2 Nov 2020 19:17:17 -0500 Subject: [PATCH] Optional find_package for sanitizers. (#6329) --- cmake/Sanitizer.cmake | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/cmake/Sanitizer.cmake b/cmake/Sanitizer.cmake index c1afb1442..2f7c913c3 100644 --- a/cmake/Sanitizer.cmake +++ b/cmake/Sanitizer.cmake @@ -6,24 +6,32 @@ # Add flags macro(enable_sanitizer sanitizer) if(${sanitizer} MATCHES "address") - find_package(ASan REQUIRED) + find_package(ASan) 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") - find_package(TSan REQUIRED) + find_package(TSan) 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") - find_package(LSan REQUIRED) + find_package(LSan) 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") - find_package(UBSan REQUIRED) + find_package(UBSan) 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() message(FATAL_ERROR "Santizer ${sanitizer} not supported.")