cmGlobalGenerator: Add interface to call ForceLinkerLanguages

Avoid calling it too early when cmGeneratorTarget instances don't
yet exist.
This commit is contained in:
Stephen Kelly 2014-03-19 09:11:11 +01:00
parent 28e1d2f8fc
commit 857d30b52e
3 changed files with 9 additions and 1 deletions

View File

@ -216,6 +216,11 @@ bool cmGlobalGenerator::GenerateImportFile(const std::string &file)
return false; return false;
} }
void cmGlobalGenerator::ForceLinkerLanguages()
{
}
bool bool
cmGlobalGenerator::IsExportedTargetsFile(const std::string &filename) const cmGlobalGenerator::IsExportedTargetsFile(const std::string &filename) const
{ {
@ -1194,6 +1199,8 @@ void cmGlobalGenerator::Generate()
// Create per-target generator information. // Create per-target generator information.
this->CreateGeneratorTargets(); this->CreateGeneratorTargets();
this->ForceLinkerLanguages();
#ifdef CMAKE_BUILD_WITH_CMAKE #ifdef CMAKE_BUILD_WITH_CMAKE
for (AutogensType::iterator it = autogens.begin(); it != autogens.end(); for (AutogensType::iterator it = autogens.begin(); it != autogens.end();
++it) ++it)

View File

@ -423,6 +423,8 @@ private:
void WriteSummary(cmTarget* target); void WriteSummary(cmTarget* target);
void FinalizeTargetCompileInfo(); void FinalizeTargetCompileInfo();
virtual void ForceLinkerLanguages();
virtual void PrintCompilerAdvice(std::ostream& os, std::string const& lang, virtual void PrintCompilerAdvice(std::ostream& os, std::string const& lang,
const char* envVar) const; const char* envVar) const;
void CheckCompilerIdCompatibility(cmMakefile* mf, void CheckCompilerIdCompatibility(cmMakefile* mf,

View File

@ -343,7 +343,6 @@ void cmGlobalXCodeGenerator::Generate()
// add ALL_BUILD, INSTALL, etc // add ALL_BUILD, INSTALL, etc
this->AddExtraTargets(root, it->second); this->AddExtraTargets(root, it->second);
} }
this->ForceLinkerLanguages();
this->cmGlobalGenerator::Generate(); this->cmGlobalGenerator::Generate();
if(cmSystemTools::GetErrorOccuredFlag()) if(cmSystemTools::GetErrorOccuredFlag())
{ {