|
|
@@ -2406,12 +2406,14 @@ int cmake::CheckBuildSystem()
|
|
|
{
|
|
|
genName = "Unix Makefiles";
|
|
|
}
|
|
|
- cmGlobalGenerator *ggd = this->CreateGlobalGenerator(genName);
|
|
|
- if (ggd)
|
|
|
+ // this global generator is never set to the cmake object so it is never
|
|
|
+ // deleted, so make it an auto_ptr
|
|
|
+ std::auto_ptr<cmGlobalGenerator> ggd(this->CreateGlobalGenerator(genName));
|
|
|
+ if (ggd.get())
|
|
|
{
|
|
|
// Check the dependencies in case source files were removed.
|
|
|
std::auto_ptr<cmLocalGenerator> lgd(ggd->CreateLocalGenerator());
|
|
|
- lgd->SetGlobalGenerator(ggd);
|
|
|
+ lgd->SetGlobalGenerator(ggd.get());
|
|
|
lgd->CheckDependencies(mf, verbose, this->ClearBuildSystem);
|
|
|
|
|
|
// Check for multiple output pairs.
|