From 7c88951845263a5540dafd2466a5c07db213d6f7 Mon Sep 17 00:00:00 2001 From: OpenSauce04 Date: Sat, 22 Mar 2025 21:10:46 +0000 Subject: [PATCH] cmake: Correctly handle `_FORTIFY_SOURCE` being pre-defined in `CXXFLAGS` --- src/CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6d41f42d6..a60053cf0 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -115,7 +115,10 @@ else() -fstack-clash-protection ) - if (NOT CMAKE_BUILD_TYPE STREQUAL Debug) + # If we define _FORTIFY_SOURCE when it is already defined, compilation will fail + string(FIND "-D_FORTIFY_SOURCE" ${CMAKE_CXX_FLAGS} FORTIFY_SOURCE_DEFINED) + + if (NOT CMAKE_BUILD_TYPE STREQUAL Debug AND NOT FORTIFY_SOURCE_DEFINED) # _FORTIFY_SOURCE can't be used without optimizations. add_compile_options(-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2) endif()