From dceae93ff6d82a076ae17d846813bb1ce86871e3 Mon Sep 17 00:00:00 2001 From: ginujacob Date: Fri, 1 May 2026 19:18:19 +0100 Subject: [PATCH] Omit -Wl,--no-undefined when -fsanitize= options are set Signed-off-by: ginujacob Change-Id: I35f8feaeb1174fdc756faf154a83e25e31fc47d9 --- CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8773d86..e383aef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,7 +51,12 @@ string(APPEND CMAKE_C_FLAGS set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined") +if ("${CMAKE_C_FLAGS} ${CMAKE_CXX_FLAGS} ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS}" MATCHES "(^| )-fsanitize=") + message(STATUS "Sanitizer-enabled build detected; not forcing -Wl,--no-undefined") +else() + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined") +endif() + set(CMAKE_CXX_VISIBILITY_PRESET hidden) set(CMAKE_C_VISIBILITY_PRESET hidden) set(CMAKE_VISIBILITY_INLINES_HIDDEN YES)