From c980021814f9717b3d9381029a323c5154a1a503 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 22 Jan 2009 10:56:58 -0500 Subject: [PATCH] ENH: Refactor find_package version file scoping This converts the variable and policy scope protection find_package() uses when loading version files to use automatic variables. --- Source/cmFindPackageCommand.cxx | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx index a00bf4ba7..a57a4f18f 100644 --- a/Source/cmFindPackageCommand.cxx +++ b/Source/cmFindPackageCommand.cxx @@ -1277,8 +1277,10 @@ bool cmFindPackageCommand::CheckVersion(std::string const& config_file) bool cmFindPackageCommand::CheckVersionFile(std::string const& version_file) { // The version file will be loaded in an isolated scope. - this->Makefile->PushScope(); - this->Makefile->PushPolicy(); + cmMakefile::ScopePushPop varScope(this->Makefile); + cmMakefile::PolicyPushPop polScope(this->Makefile); + static_cast(varScope); + static_cast(polScope); // Clear the output variables. this->Makefile->RemoveDefinition("PACKAGE_VERSION"); @@ -1344,10 +1346,6 @@ bool cmFindPackageCommand::CheckVersionFile(std::string const& version_file) } } - // Restore the original scope. - this->Makefile->PopPolicy(); - this->Makefile->PopScope(); - // Succeed if the version is suitable. return suitable; }