Skip to content

Commit 92da0ce

Browse files
committed
Another attempt to get rid of -DNDEBUG
1 parent d357f24 commit 92da0ce

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

CMakeLists.txt

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,11 +124,6 @@ endif()
124124
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
125125
set(ENABLE_EXCEPTIONS_FLAGS /EHsc)
126126
set(DISABLE_EXCEPTIONS_FLAGS /GR- /D_HAS_EXCEPTIONS=0)
127-
# Turn on assertions in the RelWithDebInfo build type.
128-
string(REPLACE "/D NDEBUG" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO
129-
"${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
130-
string(REPLACE "/D NDEBUG" "" CMAKE_CXX_FLAGS
131-
"${CMAKE_CXX_FLAGS}")
132127
else()
133128
set(ENABLE_EXCEPTIONS_FLAGS -fexceptions)
134129
set(DISABLE_EXCEPTIONS_FLAGS -fno-exceptions)
@@ -138,8 +133,22 @@ else()
138133
string(REPLACE "-DNDEBUG" "" CMAKE_CXX_FLAGS
139134
"${CMAKE_CXX_FLAGS}")
140135
endif()
136+
137+
# Turn on assertions in the RelWithDebInfo build type.
138+
foreach(NDEBUG_FLAG_STR IN ITEMS "/D NDEBUG" "-DNDEBUG")
139+
string(REPLACE "${NDEBUG_FLAG_STR}" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO
140+
"${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
141+
if(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
142+
string(REPLACE "${NDEBUG_FLAG_STR}" "" CMAKE_CXX_FLAGS
143+
"${CMAKE_CXX_FLAGS}")
144+
endif()
145+
endforeach()
141146
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO_NEW}"
142147
CACHE STRING "Flags for RelWithDebInfo configuration." FORCE)
148+
if(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
149+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}"
150+
CACHE STRING "CMake C++ flags" FORCE)
151+
endif()
143152

144153
if(HNSWLIB_EXAMPLES)
145154
message("Building examples and tests")

0 commit comments

Comments
 (0)