@@ -124,11 +124,6 @@ endif()
124124if (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} " )
132127else ()
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} " )
140135endif ()
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 ()
141146set (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
144153if (HNSWLIB_EXAMPLES)
145154 message ("Building examples and tests" )
0 commit comments