Skip to content

Commit d99c8b8

Browse files
committed
cmake: Delete -DNDEBUG from all available config-specific flags
1 parent f3ec977 commit d99c8b8

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

CMakeLists.txt

+9-8
Original file line numberDiff line numberDiff line change
@@ -192,14 +192,15 @@ endif()
192192

193193
# Redefine configuration flags.
194194
# We leave assertions on, because they are only used in the examples, and we want them always on there.
195-
if(MSVC)
196-
string(REGEX REPLACE "/DNDEBUG[ \t\r\n]*" "" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
197-
string(REGEX REPLACE "/DNDEBUG[ \t\r\n]*" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
198-
string(REGEX REPLACE "/DNDEBUG[ \t\r\n]*" "" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}")
199-
else()
200-
string(REGEX REPLACE "-DNDEBUG[ \t\r\n]*" "" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
201-
string(REGEX REPLACE "-DNDEBUG[ \t\r\n]*" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
202-
string(REGEX REPLACE "-DNDEBUG[ \t\r\n]*" "" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}")
195+
foreach(config IN LISTS CMAKE_BUILD_TYPE CMAKE_CONFIGURATION_TYPES)
196+
if(config)
197+
string(TOUPPER "${config}" config)
198+
string(REGEX REPLACE "(^| )[-/]DNDEBUG( |$)" " " CMAKE_C_FLAGS_${config} "${CMAKE_C_FLAGS_${config}}")
199+
string(STRIP "${CMAKE_C_FLAGS_${config}}" CMAKE_C_FLAGS_${config})
200+
endif()
201+
endforeach()
202+
203+
if(NOT MSVC)
203204
# Prefer -O2 optimization level. (-O3 is CMake's default for Release for many compilers.)
204205
string(REGEX REPLACE "-O3( |$)" "-O2\\1" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
205206
endif()

0 commit comments

Comments
 (0)