From be687257ee0bef2a06c37de71664fbc74122ff6c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Petr=20=C5=A0tetiar?= Date: Tue, 13 Oct 2020 14:40:14 +0200 Subject: [PATCH] cmake: tests: provide umdns-san binary MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Which is compiled with clang UB, address and leak sanitizers which is handy for example with fuzzing directly over network. Signed-off-by: Petr Å tetiar --- CMakeLists.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 80d1cf5..f1bc8f0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,6 +31,19 @@ TARGET_LINK_LIBRARIES(umdns umdns-lib) IF(UNIT_TESTING) ENABLE_TESTING() ADD_SUBDIRECTORY(tests) + + IF(CMAKE_C_COMPILER_ID STREQUAL "Clang") + ADD_LIBRARY(umdns-lib-san STATIC ${SOURCES}) + TARGET_COMPILE_OPTIONS(umdns-lib-san PRIVATE -g -fno-omit-frame-pointer -fsanitize=undefined,address,leak -fno-sanitize-recover=all) + TARGET_LINK_OPTIONS(umdns-lib-san PRIVATE -fsanitize=undefined,address,leak) + TARGET_LINK_LIBRARIES(umdns-lib-san ${LIBS}) + + ADD_EXECUTABLE(umdns-san main.c ${SOURCES}) + TARGET_COMPILE_OPTIONS(umdns-san PRIVATE -g -fno-omit-frame-pointer -fsanitize=undefined,address,leak -fno-sanitize-recover=all) + TARGET_LINK_OPTIONS(umdns-san PRIVATE -fsanitize=undefined,address,leak) + TARGET_LINK_LIBRARIES(umdns-san umdns-lib-san) + ENDIF() + ENDIF() INSTALL(TARGETS umdns -- 2.30.2