summaryrefslogtreecommitdiff
path: root/Modules/Internal
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-04-22 12:55:49 +0000
committerKitware Robot <kwrobot@kitware.com>2022-04-22 08:55:57 -0400
commit417de67afdbe152336d894133d30459f402b9570 (patch)
treeaa926c402768cae36324e2ff21bf92830444a10f /Modules/Internal
parentc0fab6dac8a783ff2f161f343b02d8e5b5f79325 (diff)
parent4941887d7defecb3016d2bd94d3a45754251ca56 (diff)
downloadcmake-417de67afdbe152336d894133d30459f402b9570.tar.gz
Merge topic 'CheckCompilerFlags-revert-linker-warnings'
4941887d7d CheckCompilerFlags: Revert "Catch linker warning about ignored flags" c2341ece47 CheckLinkerFlag: Catch linker warning when the checked flag is ignored Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7190
Diffstat (limited to 'Modules/Internal')
-rw-r--r--Modules/Internal/CheckLinkerFlag.cmake9
1 files changed, 9 insertions, 0 deletions
diff --git a/Modules/Internal/CheckLinkerFlag.cmake b/Modules/Internal/CheckLinkerFlag.cmake
index 51d42254f7..7613105500 100644
--- a/Modules/Internal/CheckLinkerFlag.cmake
+++ b/Modules/Internal/CheckLinkerFlag.cmake
@@ -25,6 +25,15 @@ function(CMAKE_CHECK_LINKER_FLAG _lang _flag _var)
set(CMAKE_REQUIRED_LINK_OPTIONS "${_flag}")
check_compiler_flag_common_patterns(_common_patterns)
+
+ # Match linker warnings if the exact flag is ignored.
+ foreach(flag IN LISTS _flag)
+ string(REGEX REPLACE "([][+.*?()^$])" [[\\\1]] _flag_regex "${flag}")
+ list(APPEND _common_patterns
+ FAIL_REGEX "warning: .*${_flag_regex}.* ignored"
+ )
+ endforeach()
+
cmake_check_source_compiles(${_lang}
"${_lang_src}"
${_var}