From f3af9517ff6152a9e1548d73404ce64991855482 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Sat, 18 Apr 2015 16:36:48 +0200 Subject: CPack: Don't copy cmMakefile. Just push a scope instead. --- Source/CPack/cpack.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/CPack/cpack.cxx b/Source/CPack/cpack.cxx index 2752270..2207873 100644 --- a/Source/CPack/cpack.cxx +++ b/Source/CPack/cpack.cxx @@ -356,8 +356,8 @@ int main (int argc, char const* const* argv) ++it ) { const char* gen = it->c_str(); - cmMakefile newMF(*globalMF); - cmMakefile* mf = &newMF; + cmMakefile::ScopePushPop raii(globalMF); + cmMakefile* mf = globalMF; cmCPack_Log(&log, cmCPackLog::LOG_VERBOSE, "Specified generator: " << gen << std::endl); if ( parsed && !mf->GetDefinition("CPACK_PACKAGE_NAME") ) -- cgit v0.12 From 8090904198238bce7108d7734099f35c9d1bfab2 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Sat, 18 Apr 2015 16:38:21 +0200 Subject: cmMakefile: Disable copy constructor. It is no longer necessary to be able to copy it. Additionally, this gives us one less reason to copy cmTarget. --- Source/cmMakefile.cxx | 46 ---------------------------------------------- Source/cmMakefile.h | 3 ++- 2 files changed, 2 insertions(+), 47 deletions(-) diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 7be920d..83efc05 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -106,52 +106,6 @@ cmMakefile::cmMakefile(): Internal(new Internals) this->SuppressWatches = false; } -cmMakefile::cmMakefile(const cmMakefile& mf): Internal(new Internals) -{ - this->Internal->VarStack.push(mf.Internal->VarStack.top().Closure()); - this->Internal->VarInitStack.push(mf.Internal->VarInitStack.top()); - this->Internal->VarUsageStack.push(mf.Internal->VarUsageStack.top()); - - this->cmStartDirectory = mf.cmStartDirectory; - this->StartOutputDirectory = mf.StartOutputDirectory; - this->cmHomeDirectory = mf.cmHomeDirectory; - this->HomeOutputDirectory = mf.HomeOutputDirectory; - this->cmCurrentListFile = mf.cmCurrentListFile; - this->ProjectName = mf.ProjectName; - this->Targets = mf.Targets; - this->SourceFiles = mf.SourceFiles; - this->Tests = mf.Tests; - this->LinkDirectories = mf.LinkDirectories; - this->SystemIncludeDirectories = mf.SystemIncludeDirectories; - this->ListFiles = mf.ListFiles; - this->OutputFiles = mf.OutputFiles; - this->LinkLibraries = mf.LinkLibraries; - this->InstallGenerators = mf.InstallGenerators; - this->TestGenerators = mf.TestGenerators; - this->IncludeFileRegularExpression = mf.IncludeFileRegularExpression; - this->ComplainFileRegularExpression = mf.ComplainFileRegularExpression; - this->SourceFileExtensions = mf.SourceFileExtensions; - this->HeaderFileExtensions = mf.HeaderFileExtensions; - this->DefineFlags = mf.DefineFlags; - this->DefineFlagsOrig = mf.DefineFlagsOrig; - -#if defined(CMAKE_BUILD_WITH_CMAKE) - this->SourceGroups = mf.SourceGroups; -#endif - - this->LocalGenerator = mf.LocalGenerator; - this->FunctionBlockers = mf.FunctionBlockers; - this->MacrosList = mf.MacrosList; - this->Properties = mf.Properties; - this->WarnUnused = mf.WarnUnused; - this->Initialize(); - this->CheckSystemVars = mf.CheckSystemVars; - this->ListFileStack = mf.ListFileStack; - this->OutputToSource = mf.OutputToSource; - - this->SuppressWatches = mf.SuppressWatches; -} - //---------------------------------------------------------------------------- void cmMakefile::Initialize() { diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index 73d6910..e3566c5 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -75,7 +75,6 @@ public: * Construct an empty makefile. */ cmMakefile(); - cmMakefile(const cmMakefile& mf); /** * Destructor. @@ -988,6 +987,8 @@ protected: cmExecutionStatus &status); private: + cmMakefile(const cmMakefile& mf); + cmMakefile& operator=(const cmMakefile& mf); void Initialize(); -- cgit v0.12