From 7b4e3241e1bd3ea123b12a7b4d1754af9e1b5442 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Petr=20=C5=A0tetiar?= Date: Mon, 12 Oct 2020 14:03:59 +0200 Subject: [PATCH] tests: add cgi-io built with clang sanitizers MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Will be used later for testing. Signed-off-by: Petr Å tetiar --- CMakeLists.txt | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ae37f1f..acf6808 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,7 +19,8 @@ IF(APPLE) LINK_DIRECTORIES(/opt/local/lib) ENDIF() -ADD_LIBRARY(cgi-lib STATIC multipart_parser.c util.c) +SET(LIB_SOURCES multipart_parser.c util.c) +ADD_LIBRARY(cgi-lib STATIC ${LIB_SOURCES}) ADD_EXECUTABLE(cgi-io main.c) TARGET_LINK_LIBRARIES(cgi-io cgi-lib ${ubox} ${ubus}) @@ -28,6 +29,18 @@ IF(UNIT_TESTING) ADD_DEFINITIONS(-DUNIT_TESTING) ENABLE_TESTING() ADD_SUBDIRECTORY(tests) + + IF(CMAKE_C_COMPILER_ID STREQUAL "Clang") + ADD_LIBRARY(cgi-lib-san SHARED ${LIB_SOURCES}) + TARGET_COMPILE_OPTIONS(cgi-lib-san PRIVATE -g -fno-omit-frame-pointer -fsanitize=undefined,address,leak -fno-sanitize-recover=all) + TARGET_LINK_OPTIONS(cgi-lib-san PRIVATE -fsanitize=undefined,address,leak) + TARGET_LINK_LIBRARIES(cgi-lib-san ${ubox} ${ubus}) + + ADD_EXECUTABLE(cgi-io-san main.c) + TARGET_COMPILE_OPTIONS(cgi-io-san PRIVATE -g -fno-omit-frame-pointer -fsanitize=undefined,address,leak -fno-sanitize-recover=all) + TARGET_LINK_OPTIONS(cgi-io-san PRIVATE -fsanitize=undefined,address,leak) + TARGET_LINK_LIBRARIES(cgi-io-san cgi-lib-san ${ubox}) + ENDIF() ENDIF() INSTALL(TARGETS cgi-io RUNTIME DESTINATION sbin) -- 2.30.2