Browse Source

CMakeDetermineCompilerABI: Avoid removing the flag after -Werror

The matching became too eager after commit 079ea66468
(CMakeDetermineCompilerABI: Handle NVCC-style -Werror flags, 2020-10-04,
v3.19.0-rc1~45^2). When -Werror was specified without a value we would
eat the following flag. Prevent this by disallowing "-" as the first
character of the flag's value.

Fixes: 079ea66468a6ffe0b02c3d6622bc0230fdf455b0
See-also: https://discourse.cmake.org/t/8230
Raul Tambre 2 years ago
parent
commit
cec6f98018
1 changed files with 1 additions and 1 deletions
  1. 1 1
      Modules/CMakeDetermineCompilerABI.cmake

+ 1 - 1
Modules/CMakeDetermineCompilerABI.cmake

@@ -42,7 +42,7 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src)
     __TestCompiler_setTryCompileTargetType()
 
     # Avoid failing ABI detection on warnings.
-    string(REGEX REPLACE "(^| )-Werror([= ][^ ]*)?( |$)" " " CMAKE_${lang}_FLAGS "${CMAKE_${lang}_FLAGS}")
+    string(REGEX REPLACE "(^| )-Werror([= ][^-][^ ]*)?( |$)" " " CMAKE_${lang}_FLAGS "${CMAKE_${lang}_FLAGS}")
 
     # Save the current LC_ALL, LC_MESSAGES, and LANG environment variables
     # and set them to "C" that way GCC's "search starts here" text is in