diff options
author | Brad King <brad.king@kitware.com> | 2009-07-28 14:47:02 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2009-07-28 14:47:02 (GMT) |
commit | e9d7ebb3ec751528a422108b20dc3c24fcd39530 (patch) | |
tree | 07660eabb01ffed7532d15fb915e608d8c6bb3a7 /Source | |
parent | 57057ee59550980e19d5c4535d3ec0f4734653a0 (diff) | |
download | CMake-e9d7ebb3ec751528a422108b20dc3c24fcd39530.zip CMake-e9d7ebb3ec751528a422108b20dc3c24fcd39530.tar.gz CMake-e9d7ebb3ec751528a422108b20dc3c24fcd39530.tar.bz2 |
BUG: Do not double-initialize local generators
All global generator CreateLocalGenerator methods automatically
initialize the local generator instances with SetGlobalGenerator. In
several places we were calling SetGlobalGenerator again after receiving
the return value from CreateLocalGenerator. The double-initializations
leaked the resources allocated by the first call to SetGlobalGenerator.
This fix removes the unnecessary calls.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/CPack/cmCPackGenerator.cxx | 1 | ||||
-rw-r--r-- | Source/CTest/cmCTestScriptHandler.cxx | 1 | ||||
-rw-r--r-- | Source/CTest/cmCTestTestHandler.cxx | 1 | ||||
-rw-r--r-- | Source/cmCTest.cxx | 1 | ||||
-rw-r--r-- | Source/cmake.cxx | 5 |
5 files changed, 0 insertions, 9 deletions
diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx index a8d500c..509fdb9 100644 --- a/Source/CPack/cmCPackGenerator.cxx +++ b/Source/CPack/cmCPackGenerator.cxx @@ -623,7 +623,6 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects( cmGlobalGenerator gg; gg.SetCMakeInstance(&cm); std::auto_ptr<cmLocalGenerator> lg(gg.CreateLocalGenerator()); - lg->SetGlobalGenerator(&gg); cmMakefile *mf = lg->GetMakefile(); std::string realInstallDirectory = tempInstallDirectory; if ( !installSubDirectory.empty() && installSubDirectory != "/" ) diff --git a/Source/CTest/cmCTestScriptHandler.cxx b/Source/CTest/cmCTestScriptHandler.cxx index 12e7005..4ba9e68 100644 --- a/Source/CTest/cmCTestScriptHandler.cxx +++ b/Source/CTest/cmCTestScriptHandler.cxx @@ -335,7 +335,6 @@ void cmCTestScriptHandler::CreateCMake() this->GlobalGenerator->SetCMakeInstance(this->CMake); this->LocalGenerator = this->GlobalGenerator->CreateLocalGenerator(); - this->LocalGenerator->SetGlobalGenerator(this->GlobalGenerator); this->Makefile = this->LocalGenerator->GetMakefile(); // remove all cmake commands which are not scriptable, since they can't be diff --git a/Source/CTest/cmCTestTestHandler.cxx b/Source/CTest/cmCTestTestHandler.cxx index da3fd5e..1e41371 100644 --- a/Source/CTest/cmCTestTestHandler.cxx +++ b/Source/CTest/cmCTestTestHandler.cxx @@ -1970,7 +1970,6 @@ void cmCTestTestHandler::GetListOfTests() cmGlobalGenerator gg; gg.SetCMakeInstance(&cm); std::auto_ptr<cmLocalGenerator> lg(gg.CreateLocalGenerator()); - lg->SetGlobalGenerator(&gg); cmMakefile *mf = lg->GetMakefile(); mf->AddDefinition("CTEST_CONFIGURATION_TYPE", this->CTest->GetConfigType().c_str()); diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx index 5c058d4..abf47a2 100644 --- a/Source/cmCTest.cxx +++ b/Source/cmCTest.cxx @@ -350,7 +350,6 @@ int cmCTest::Initialize(const char* binary_dir, bool new_tag, cmGlobalGenerator gg; gg.SetCMakeInstance(&cm); std::auto_ptr<cmLocalGenerator> lg(gg.CreateLocalGenerator()); - lg->SetGlobalGenerator(&gg); cmMakefile *mf = lg->GetMakefile(); if ( !this->ReadCustomConfigurationFileTree(this->BinaryDir.c_str(), mf) ) { diff --git a/Source/cmake.cxx b/Source/cmake.cxx index efc8da0..649bdf8 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -500,7 +500,6 @@ void cmake::ReadListFile(const char *path) if(path) { std::auto_ptr<cmLocalGenerator> lg(gg->CreateLocalGenerator()); - lg->SetGlobalGenerator(gg); lg->GetMakefile()->SetHomeOutputDirectory (cmSystemTools::GetCurrentWorkingDirectory().c_str()); lg->GetMakefile()->SetStartOutputDirectory @@ -1532,7 +1531,6 @@ int cmake::ExecuteCMakeCommand(std::vector<std::string>& args) { cm.SetGlobalGenerator(ggd); std::auto_ptr<cmLocalGenerator> lgd(ggd->CreateLocalGenerator()); - lgd->SetGlobalGenerator(ggd); lgd->GetMakefile()->SetStartDirectory(startDir.c_str()); lgd->GetMakefile()->SetStartOutputDirectory(startOutDir.c_str()); lgd->GetMakefile()->MakeStartDirectoriesCurrent(); @@ -2625,7 +2623,6 @@ int cmake::CheckBuildSystem() cmGlobalGenerator gg; gg.SetCMakeInstance(&cm); std::auto_ptr<cmLocalGenerator> lg(gg.CreateLocalGenerator()); - lg->SetGlobalGenerator(&gg); cmMakefile* mf = lg->GetMakefile(); if(!mf->ReadListFile(0, this->CheckBuildSystemArgument.c_str()) || cmSystemTools::GetErrorOccuredFlag()) @@ -2656,7 +2653,6 @@ int cmake::CheckBuildSystem() if(ggd.get()) { std::auto_ptr<cmLocalGenerator> lgd(ggd->CreateLocalGenerator()); - lgd->SetGlobalGenerator(ggd.get()); lgd->ClearDependencies(mf, verbose); } } @@ -2895,7 +2891,6 @@ void cmake::GenerateGraphViz(const char* fileName) const cmGlobalGenerator ggi; ggi.SetCMakeInstance(&cm); std::auto_ptr<cmLocalGenerator> lg(ggi.CreateLocalGenerator()); - lg->SetGlobalGenerator(&ggi); cmMakefile *mf = lg->GetMakefile(); std::string infile = this->GetHomeOutputDirectory(); |