CMakeDetermineCompilerABI: Remove -Werror from per-config flags

Extend the fixes from

* commit 079ea66468 (CMakeDetermineCompilerABI: Handle NVCC-style -Werror
  flags, 2020-10-04, v3.19.0-rc1~45^2), and
* commit cec6f98018 (CMakeDetermineCompilerABI: Avoid removing the flag
  after -Werror, 2023-05-29, v3.26.5~4^2)

to apply to the per-config flags propagated by CMP0066's NEW behavior.
This commit is contained in:
Sung, Po Han
2024-03-28 10:47:45 +08:00
committed by Brad King
parent 6abd25e7fd
commit e60281e968

View File

@@ -50,7 +50,14 @@ 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}")
if(CMAKE_TRY_COMPILE_CONFIGURATION)
string(TOUPPER "${CMAKE_TRY_COMPILE_CONFIGURATION}" _tc_config)
else()
set(_tc_config "DEBUG")
endif()
foreach(v CMAKE_${lang}_FLAGS CMAKE_${lang}_FLAGS_${_tc_config})
string(REGEX REPLACE "(^| )-Werror([= ][^-][^ ]*)?( |$)" " " ${v} "${${v}}")
endforeach()
# 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