cmGlobalGenerator: Create local generators after all makefiles configured.
This commit is contained in:
parent
dd408de46b
commit
c5f07e0537
|
@ -1091,6 +1091,18 @@ void cmGlobalGenerator::ClearEnabledLanguages()
|
||||||
return this->CMakeInstance->GetState()->ClearEnabledLanguages();
|
return this->CMakeInstance->GetState()->ClearEnabledLanguages();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cmGlobalGenerator::CreateLocalGenerators()
|
||||||
|
{
|
||||||
|
cmDeleteAll(this->LocalGenerators);
|
||||||
|
this->LocalGenerators.clear();
|
||||||
|
this->LocalGenerators.reserve(this->Makefiles.size());
|
||||||
|
for (std::vector<cmMakefile*>::const_iterator it = this->Makefiles.begin();
|
||||||
|
it != this->Makefiles.end(); ++it)
|
||||||
|
{
|
||||||
|
this->LocalGenerators.push_back(this->CreateLocalGenerator(*it));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void cmGlobalGenerator::Configure()
|
void cmGlobalGenerator::Configure()
|
||||||
{
|
{
|
||||||
this->FirstTimeProgress = 0.0f;
|
this->FirstTimeProgress = 0.0f;
|
||||||
|
@ -1112,8 +1124,7 @@ void cmGlobalGenerator::Configure()
|
||||||
// now do it
|
// now do it
|
||||||
this->ConfigureDoneCMP0026 = false;
|
this->ConfigureDoneCMP0026 = false;
|
||||||
dirMf->Configure();
|
dirMf->Configure();
|
||||||
this->LocalGenerators.insert(this->LocalGenerators.begin(),
|
this->CreateLocalGenerators();
|
||||||
this->CreateLocalGenerator(dirMf));
|
|
||||||
dirMf->EnforceDirectoryLevelRules();
|
dirMf->EnforceDirectoryLevelRules();
|
||||||
|
|
||||||
this->ConfigureDoneCMP0026 = true;
|
this->ConfigureDoneCMP0026 = true;
|
||||||
|
|
|
@ -466,6 +466,8 @@ private:
|
||||||
|
|
||||||
virtual void ForceLinkerLanguages();
|
virtual void ForceLinkerLanguages();
|
||||||
|
|
||||||
|
void CreateLocalGenerators();
|
||||||
|
|
||||||
void CheckCompilerIdCompatibility(cmMakefile* mf,
|
void CheckCompilerIdCompatibility(cmMakefile* mf,
|
||||||
std::string const& lang) const;
|
std::string const& lang) const;
|
||||||
|
|
||||||
|
|
|
@ -1772,11 +1772,6 @@ void cmMakefile::AddSubDirectory(const std::string& srcPath,
|
||||||
{
|
{
|
||||||
this->UnConfiguredDirectories.push_back(subMf);
|
this->UnConfiguredDirectories.push_back(subMf);
|
||||||
}
|
}
|
||||||
|
|
||||||
// create a new local generator and set its parent
|
|
||||||
cmLocalGenerator *lg2 = this->GetGlobalGenerator()
|
|
||||||
->CreateLocalGenerator(subMf);
|
|
||||||
this->GetGlobalGenerator()->AddLocalGenerator(lg2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void cmMakefile::SetCurrentSourceDirectory(const std::string& dir)
|
void cmMakefile::SetCurrentSourceDirectory(const std::string& dir)
|
||||||
|
|
Loading…
Reference in New Issue