Commit 99afd41f1c43c856d39e3b9572d7a2103875a771

Edward Thomson 2019-01-10T21:38:24

Merge pull request #4924 from lhchavez/werror Make ENABLE_WERROR actually work

diff --git a/cmake/Modules/AddCFlagIfSupported.cmake b/cmake/Modules/AddCFlagIfSupported.cmake
index 1d6181c..b7aaa79 100644
--- a/cmake/Modules/AddCFlagIfSupported.cmake
+++ b/cmake/Modules/AddCFlagIfSupported.cmake
@@ -7,7 +7,8 @@ INCLUDE(CheckCCompilerFlag)
 
 MACRO(ADD_C_FLAG _FLAG)
 	STRING(TOUPPER ${_FLAG} UPCASE)
-	STRING(REGEX REPLACE "^-" "" UPCASE_PRETTY ${UPCASE})
+	STRING(REGEX REPLACE "[-=]" "_" UPCASE_PRETTY ${UPCASE})
+	STRING(REGEX REPLACE "^_+" "" UPCASE_PRETTY ${UPCASE_PRETTY})
 	CHECK_C_COMPILER_FLAG(${_FLAG} IS_${UPCASE_PRETTY}_SUPPORTED)
 
 	IF(IS_${UPCASE_PRETTY}_SUPPORTED)
@@ -19,7 +20,8 @@ ENDMACRO()
 
 MACRO(ADD_C_FLAG_IF_SUPPORTED _FLAG)
 	STRING(TOUPPER ${_FLAG} UPCASE)
-	STRING(REGEX REPLACE "^-" "" UPCASE_PRETTY ${UPCASE})
+	STRING(REGEX REPLACE "[-=]" "_" UPCASE_PRETTY ${UPCASE})
+	STRING(REGEX REPLACE "^_+" "" UPCASE_PRETTY ${UPCASE_PRETTY})
 	CHECK_C_COMPILER_FLAG(${_FLAG} IS_${UPCASE_PRETTY}_SUPPORTED)
 
 	IF(IS_${UPCASE_PRETTY}_SUPPORTED)
diff --git a/cmake/Modules/EnableWarnings.cmake b/cmake/Modules/EnableWarnings.cmake
index e7d7d39..72e1523 100644
--- a/cmake/Modules/EnableWarnings.cmake
+++ b/cmake/Modules/EnableWarnings.cmake
@@ -1,14 +1,11 @@
 MACRO(ENABLE_WARNINGS flag)
-	IF(ENABLE_WERROR)
-		ADD_C_FLAG_IF_SUPPORTED(-Werror=${flag})
-	ELSE()
-		ADD_C_FLAG_IF_SUPPORTED(-W${flag})
-	ENDIF()
+	ADD_C_FLAG_IF_SUPPORTED(-W${flag})
 ENDMACRO()
 
 MACRO(DISABLE_WARNINGS flag)
 	ADD_C_FLAG_IF_SUPPORTED(-Wno-${flag})
-	IF(ENABLE_WERROR)
-		ADD_C_FLAG_IF_SUPPORTED(-Wno-error=${flag})
-	ENDIF()
 ENDMACRO()
+
+IF(ENABLE_WERROR)
+	ADD_C_FLAG_IF_SUPPORTED(-Werror)
+ENDIF()