From a353d10a7549be2e40977cf239058902e5baf2d8 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 10 Jul 2018 09:25:10 -0400 Subject: Protect implicit link library extraction with policy CMP0054 CMakeParseImplicitLinkInfo tests arbitrary content with `if(MATCHES)`. Set policy CMP0054 to ensure the line content is never interpreted as a variable reference (which may also produce a CMP0054 warning). While at it, also set policy CMP0053 to improve performance. --- Modules/CMakeParseImplicitLinkInfo.cmake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Modules/CMakeParseImplicitLinkInfo.cmake b/Modules/CMakeParseImplicitLinkInfo.cmake index 935f92d964..30659ebcbb 100644 --- a/Modules/CMakeParseImplicitLinkInfo.cmake +++ b/Modules/CMakeParseImplicitLinkInfo.cmake @@ -1,6 +1,9 @@ # Distributed under the OSI-approved BSD 3-Clause License. See accompanying # file Copyright.txt or https://cmake.org/licensing for details. +cmake_policy(PUSH) +cmake_policy(SET CMP0053 NEW) +cmake_policy(SET CMP0054 NEW) # Function parse implicit linker options. # This is used internally by CMake and should not be included by user @@ -185,3 +188,5 @@ function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var fwk_var log_var obj set(${fwk_var} "${implicit_fwks}" PARENT_SCOPE) set(${log_var} "${log}" PARENT_SCOPE) endfunction() + +cmake_policy(POP) -- cgit v1.2.1