From e60281e9687d5192bb4f804d0194ad4d3a4a619e Mon Sep 17 00:00:00 2001 From: "Sung, Po Han" Date: Thu, 28 Mar 2024 10:47:45 +0800 Subject: 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. --- Modules/CMakeDetermineCompilerABI.cmake | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Modules/CMakeDetermineCompilerABI.cmake b/Modules/CMakeDetermineCompilerABI.cmake index 012a87c..cb2162c 100644 --- a/Modules/CMakeDetermineCompilerABI.cmake +++ b/Modules/CMakeDetermineCompilerABI.cmake @@ -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 -- cgit v0.12