testing: improve sanitizer handling
[awesomized/libmemcached] / CMake / CheckDebug.cmake
index 2701bdfd0ab3107c5cdf4b11364acb5b4eb93bff..4ab87f259fa37806ec8fa16db97412d348f09e9c 100644 (file)
@@ -47,8 +47,10 @@ function(check_debug)
                 check_cxx_compiler_flag(-fsanitize=address HAVE_ASAN)
                 cmake_pop_check_state()
                 if(HAVE_ASAN)
+                    add_compile_definitions(HAVE_ASAN)
                     add_compile_options(-fsanitize=address)
                     add_link_options(-lasan)
+                    check_flag(-fsanitize-recover=address IGNORE)
                 endif()
             endif()
 
@@ -58,8 +60,10 @@ function(check_debug)
                 check_cxx_compiler_flag(-fsanitize=undefined HAVE_UBSAN)
                 cmake_pop_check_state()
                 if(HAVE_UBSAN)
+                    add_compile_definitions(HAVE_UBSAN)
                     add_compile_options(-fsanitize=undefined)
                     add_link_options(-lubsan)
+                    check_flag(-fsanitize-recover=undefined IGNORE)
                 endif()
             endif()
         endif()