From cebcc07a80c5934e082b597604a753cce456020c Mon Sep 17 00:00:00 2001 From: "Sung, Po Han" Date: Thu, 28 Mar 2024 11:02:20 +0800 Subject: CheckSymbolExists: Remove -Werror from per-config flags Extend the fix from commit 1ab7c3cd28 (CheckSymbolExists: Work around GCC failure with -pedantic-errors option, 2021-10-22, v3.23.0-rc1~498^2) to apply to the per-config flags propagated by CMP0066's NEW behavior. --- Modules/CheckSymbolExists.cmake | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/Modules/CheckSymbolExists.cmake b/Modules/CheckSymbolExists.cmake index 90f91dd..621df75 100644 --- a/Modules/CheckSymbolExists.cmake +++ b/Modules/CheckSymbolExists.cmake @@ -75,14 +75,28 @@ macro(CHECK_SYMBOL_EXISTS SYMBOL FILES VARIABLE) endmacro() macro(__CHECK_SYMBOL_EXISTS_FILTER_FLAGS LANG) - set(__CMAKE_${LANG}_FLAGS_SAVED "${CMAKE_${LANG}_FLAGS}") - string(REGEX REPLACE "(^| )-Werror([= ][^-][^ ]*)?( |$)" " " CMAKE_${LANG}_FLAGS "${CMAKE_${LANG}_FLAGS}") - string(REGEX REPLACE "(^| )-pedantic-errors( |$)" " " 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}) + set(__${v}_SAVED "${${v}}") + string(REGEX REPLACE "(^| )-Werror([= ][^-][^ ]*)?( |$)" " " ${v} "${${v}}") + string(REGEX REPLACE "(^| )-pedantic-errors( |$)" " " ${v} "${${v}}") + endforeach() endmacro() macro(__CHECK_SYMBOL_EXISTS_RESTORE_FLAGS LANG) - set(CMAKE_${LANG}_FLAGS "${__CMAKE_${LANG}_FLAGS_SAVED}") - unset(__CMAKE_${LANG}_FLAGS_SAVED) + 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}) + set(${v} "${__${v}_SAVED}") + unset(__${v}_SAVED) + endforeach() endmacro() macro(__CHECK_SYMBOL_EXISTS_IMPL SOURCEFILE SYMBOL FILES VARIABLE) -- cgit v0.12