travis: try to fix ubsan for clang-old
[awesomized/libmemcached] / CMake / CheckDebug.cmake
index 4ab87f259fa37806ec8fa16db97412d348f09e9c..433682998b17d171a023f94e14c95fe9c1ea45ac 100644 (file)
@@ -49,7 +49,10 @@ function(check_debug)
                 if(HAVE_ASAN)
                     add_compile_definitions(HAVE_ASAN)
                     add_compile_options(-fsanitize=address)
-                    add_link_options(-lasan)
+                    if(CMAKE_CXX_COMPILER_ID STREQUAL Clang)
+                        set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
+                    endif()
+                    link_libraries(asan)
                     check_flag(-fsanitize-recover=address IGNORE)
                 endif()
             endif()
@@ -62,7 +65,10 @@ function(check_debug)
                 if(HAVE_UBSAN)
                     add_compile_definitions(HAVE_UBSAN)
                     add_compile_options(-fsanitize=undefined)
-                    add_link_options(-lubsan)
+                    if(CMAKE_CXX_COMPILER_ID STREQUAL Clang)
+                        set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined")
+                    endif()
+                    link_libraries(ubsan)
                     check_flag(-fsanitize-recover=undefined IGNORE)
                 endif()
             endif()