cmake: Correctly handle _FORTIFY_SOURCE being pre-defined in CXXFLAGS

This commit is contained in:
OpenSauce04 2025-03-22 21:10:46 +00:00
parent cc7625e87c
commit 7c88951845

View File

@ -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()