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.
This commit is contained in:
Sung, Po Han 2024-03-28 11:02:20 +08:00 committed by Brad King
parent 06c99ce73b
commit cebcc07a80

View File

@ -75,14 +75,28 @@ macro(CHECK_SYMBOL_EXISTS SYMBOL FILES VARIABLE)
endmacro() endmacro()
macro(__CHECK_SYMBOL_EXISTS_FILTER_FLAGS LANG) macro(__CHECK_SYMBOL_EXISTS_FILTER_FLAGS LANG)
set(__CMAKE_${LANG}_FLAGS_SAVED "${CMAKE_${LANG}_FLAGS}") if(CMAKE_TRY_COMPILE_CONFIGURATION)
string(REGEX REPLACE "(^| )-Werror([= ][^-][^ ]*)?( |$)" " " CMAKE_${LANG}_FLAGS "${CMAKE_${LANG}_FLAGS}") string(TOUPPER "${CMAKE_TRY_COMPILE_CONFIGURATION}" _tc_config)
string(REGEX REPLACE "(^| )-pedantic-errors( |$)" " " CMAKE_${LANG}_FLAGS "${CMAKE_${LANG}_FLAGS}") 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() endmacro()
macro(__CHECK_SYMBOL_EXISTS_RESTORE_FLAGS LANG) macro(__CHECK_SYMBOL_EXISTS_RESTORE_FLAGS LANG)
set(CMAKE_${LANG}_FLAGS "${__CMAKE_${LANG}_FLAGS_SAVED}") if(CMAKE_TRY_COMPILE_CONFIGURATION)
unset(__CMAKE_${LANG}_FLAGS_SAVED) 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() endmacro()
macro(__CHECK_SYMBOL_EXISTS_IMPL SOURCEFILE SYMBOL FILES VARIABLE) macro(__CHECK_SYMBOL_EXISTS_IMPL SOURCEFILE SYMBOL FILES VARIABLE)