浏览代码

BUG: find_package must push/pop policies

When the find_package command loads a <name>-version.cmake file to test
the package version it must prevent the version file from affecting
policy settings.  Therefore the policy settings must be pushed and
popped.
Brad King 17 年之前
父节点
当前提交
2d842b6798
共有 1 个文件被更改,包括 2 次插入0 次删除
  1. 2 0
      Source/cmFindPackageCommand.cxx

+ 2 - 0
Source/cmFindPackageCommand.cxx

@@ -1298,6 +1298,7 @@ bool cmFindPackageCommand::CheckVersionFile(std::string const& version_file)
 {
   // The version file will be loaded in an isolated scope.
   this->Makefile->PushScope();
+  this->Makefile->PushPolicy();
 
   // Clear the output variables.
   this->Makefile->RemoveDefinition("PACKAGE_VERSION");
@@ -1364,6 +1365,7 @@ bool cmFindPackageCommand::CheckVersionFile(std::string const& version_file)
     }
 
   // Restore the original scope.
+  this->Makefile->PopPolicy();
   this->Makefile->PopScope();
 
   // Succeed if the version is suitable.