diff options
author | Brad King <brad.king@kitware.com> | 2013-05-21 19:13:37 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2013-05-21 19:13:37 (GMT) |
commit | ad2391b94f69d8896f152e2cee063f7a0f92b968 (patch) | |
tree | 02e501d8b31046f26b88c3544cde90178e01484d | |
parent | 5947d039873606fbc6ce854afb16a5db09b1736c (diff) | |
parent | ffda082e652e1fd8a40dbc3c4d7ba11f18c06aac (diff) | |
download | CMake-ad2391b94f69d8896f152e2cee063f7a0f92b968.zip CMake-ad2391b94f69d8896f152e2cee063f7a0f92b968.tar.gz CMake-ad2391b94f69d8896f152e2cee063f7a0f92b968.tar.bz2 |
Merge topic 'implicit-link-sanitize-regex'
ffda082 Sanitize linker name to parse implicit link line (#14154)
-rw-r--r-- | Modules/CMakeParseImplicitLinkInfo.cmake | 1 | ||||
-rw-r--r-- | Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/Modules/CMakeParseImplicitLinkInfo.cmake b/Modules/CMakeParseImplicitLinkInfo.cmake index fa03630..4724a8c 100644 --- a/Modules/CMakeParseImplicitLinkInfo.cmake +++ b/Modules/CMakeParseImplicitLinkInfo.cmake @@ -26,6 +26,7 @@ function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var fwk_var log_var obj set(linker "CMAKE_LINKER-NOTFOUND") if(CMAKE_LINKER) get_filename_component(linker ${CMAKE_LINKER} NAME) + string(REGEX REPLACE "([][+.*?()^$])" "\\\\\\1" linker "${linker}") endif() # Construct a regex to match linker lines. It must match both the # whole line and just the command (argv[0]). diff --git a/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in b/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in index e28d102..055b183 100644 --- a/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in +++ b/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in @@ -508,6 +508,7 @@ list(APPEND platforms msys_g77) #----------------------------------------------------------------------------- # Test parsing for all above examples. +set(CMAKE_LINKER "not-a-linker[]().*+^$?") foreach(p IN LISTS platforms) cmake_parse_implicit_link_info("${${p}_text}" libs dirs fwks log "${${p}_obj_regex}") |