@@ -97,6 +97,9 @@ if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX
9797
9898 if (CMAKE_COMPILER_IS_GNUCXX)
9999 set (warning_flags "${warning_flags} -Wno-maybe-uninitialized" )
100+
101+ # Ignore self-assigns as we need this for generated tests.
102+ set (warning_flags "${warning_flags} -Wno-self-assign-overloaded " )
100103 endif ()
101104
102105 if (CMAKE_COMPILER_IS_CLANGXX)
@@ -164,11 +167,11 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC" OR
164167 CMAKE_CXX_SIMULATE_ID MATCHES "MSVC" )
165168 if (${MSVC_VERSION} GREATER 1399) # 1400+ => VC2005+
166169 # cannot use incremental rebuild
167- string (REPLACE "/Gm" "" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG} )
168- string (REPLACE "/Gm" "" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE} )
169- string (REPLACE "/Gm" "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG} )
170+ string (REPLACE "/Gm" "" CMAKE_C_FLAGS_DEBUG " ${CMAKE_C_FLAGS_DEBUG} " )
171+ string (REPLACE "/Gm" "" CMAKE_C_FLAGS_RELEASE " ${CMAKE_C_FLAGS_RELEASE} " )
172+ string (REPLACE "/Gm" "" CMAKE_CXX_FLAGS_DEBUG " ${CMAKE_CXX_FLAGS_DEBUG} " )
170173 string (REPLACE "/Gm" "" CMAKE_CXX_FLAGS_RELEASE
171- ${CMAKE_CXX_FLAGS_RELEASE} )
174+ " ${CMAKE_CXX_FLAGS_RELEASE} " )
172175
173176 # workaround for C1128: number of sections exceeded object
174177 # file format limit.
@@ -186,8 +189,8 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC" OR
186189 "${CMAKE_CXX_FLAGS} /D CRT_SECURE_NO_WARNINGS" )
187190
188191 foreach (flag_var CMAKE_C_FLAGS_DEBUG CMAKE_CXX_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELEASE CMAKE_C_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_RELWITHDEBINFO )
189- string (REGEX REPLACE "/MD" "/MT" ${flag_var} "${${ flag_var} }" )
190- string (REGEX REPLACE "/MDd" "/MTd" ${flag_var} "${${ flag_var} }" )
192+ string (REGEX REPLACE "/MD" "/MT" ${flag_var} "${flag_var} " )
193+ string (REGEX REPLACE "/MDd" "/MTd" ${flag_var} "${flag_var} " )
191194 endforeach (flag_var)
192195
193196 # Options specific to clang-cl. We suppress a number of warnings
0 commit comments