Get the local generator from the GeneratorTarget.

The Makefile should not know the LocalGenerator at all
This commit is contained in:
Stephen Kelly 2015-06-06 14:59:06 +02:00 committed by Brad King
parent 5aa556be56
commit e77142350d
4 changed files with 8 additions and 6 deletions

View File

@ -1173,8 +1173,10 @@ void cmMakefileTargetGenerator::WriteTargetDependRules()
&& linkee->GetType() != cmTarget::INTERFACE_LIBRARY && linkee->GetType() != cmTarget::INTERFACE_LIBRARY
&& emitted.insert(linkee).second) && emitted.insert(linkee).second)
{ {
cmGeneratorTarget* gt =
this->GlobalGenerator->GetGeneratorTarget(linkee);
cmLocalGenerator* lg = gt->GetLocalGenerator();
cmMakefile* mf = linkee->GetMakefile(); cmMakefile* mf = linkee->GetMakefile();
cmLocalGenerator* lg = mf->GetLocalGenerator();
std::string di = mf->GetCurrentBinaryDirectory(); std::string di = mf->GetCurrentBinaryDirectory();
di += "/"; di += "/";
di += lg->GetTargetDirectory(*linkee); di += lg->GetTargetDirectory(*linkee);

View File

@ -22,7 +22,7 @@ cmOSXBundleGenerator(cmGeneratorTarget* target,
const std::string& configName) const std::string& configName)
: GT(target) : GT(target)
, Makefile(target->Target->GetMakefile()) , Makefile(target->Target->GetMakefile())
, LocalGenerator(Makefile->GetLocalGenerator()) , LocalGenerator(target->GetLocalGenerator())
, ConfigName(configName) , ConfigName(configName)
, MacContentFolders(0) , MacContentFolders(0)
{ {

View File

@ -521,10 +521,10 @@ static void GetCompileDefinitionsAndDirectories(cmTarget const* target,
std::string &defs) std::string &defs)
{ {
cmMakefile* makefile = target->GetMakefile(); cmMakefile* makefile = target->GetMakefile();
cmLocalGenerator* localGen = makefile->GetLocalGenerator(); cmGlobalGenerator* globalGen = makefile->GetGlobalGenerator();
std::vector<std::string> includeDirs; std::vector<std::string> includeDirs;
cmGeneratorTarget *gtgt = localGen->GetGlobalGenerator() cmGeneratorTarget *gtgt = globalGen->GetGeneratorTarget(target);
->GetGeneratorTarget(target); cmLocalGenerator *localGen = gtgt->GetLocalGenerator();
// Get the include dirs for this target, without stripping the implicit // Get the include dirs for this target, without stripping the implicit
// include dirs off, see http://public.kitware.com/Bug/view.php?id=13667 // include dirs off, see http://public.kitware.com/Bug/view.php?id=13667
localGen->GetIncludeDirectories(includeDirs, gtgt, "CXX", config, false); localGen->GetIncludeDirectories(includeDirs, gtgt, "CXX", config, false);

View File

@ -176,7 +176,7 @@ cmVisualStudio10TargetGenerator(cmTarget* target,
this->Makefile->GetConfigurations(this->Configurations); this->Makefile->GetConfigurations(this->Configurations);
this->LocalGenerator = this->LocalGenerator =
(cmLocalVisualStudio7Generator*) (cmLocalVisualStudio7Generator*)
this->Makefile->GetLocalGenerator(); this->GeneratorTarget->GetLocalGenerator();
this->Name = this->Target->GetName(); this->Name = this->Target->GetName();
this->GUID = this->GlobalGenerator->GetGUID(this->Name.c_str()); this->GUID = this->GlobalGenerator->GetGUID(this->Name.c_str());
this->Platform = gg->GetPlatformName(); this->Platform = gg->GetPlatformName();