cmake: use link_libraries() instead of add_link_options() for sanitizers
[awesomized/libmemcached] / CMake / CheckDebug.cmake
index 2701bdfd0ab3107c5cdf4b11364acb5b4eb93bff..2c873d86959b4530840b7f27dbe6b2263104e0ff 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)
+                    link_libraries(asan)
+                    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)
+                    link_libraries(ubsan)
+                    check_flag(-fsanitize-recover=undefined IGNORE)
                 endif()
             endif()
         endif()