Merge topic 'clean-up-GHS'

f69dcdfc GHS: Remove call to SetCurrentLocalGenerator.
a4d230af GHS: Don't attempt to generate for IMPORTED or INTERFACE targets.
550e08b0 GHS: Remove unnecessary condition.
d34467cd GHS: Remove unused CustomCommandUseLocal.
9afc9e84 GHS: Remove BuildFileName.
73245e59 GHS: Remove unnecessary Configure override.
This commit is contained in:
Brad King 2015-05-27 09:22:59 -04:00 committed by CMake Topic Stage
commit 94e4b5d2c3
3 changed files with 10 additions and 45 deletions

View File

@ -35,9 +35,7 @@ cmGlobalGhsMultiGenerator::~cmGlobalGhsMultiGenerator()
cmLocalGenerator *
cmGlobalGhsMultiGenerator::CreateLocalGenerator(cmLocalGenerator* parent)
{
cmLocalGenerator *lg = new cmLocalGhsMultiGenerator(this, parent);
this->SetCurrentLocalGenerator(lg);
return lg;
return new cmLocalGhsMultiGenerator(this, parent);
}
void cmGlobalGhsMultiGenerator::GetDocumentation(cmDocumentationEntry &entry)

View File

@ -27,31 +27,16 @@ cmLocalGhsMultiGenerator::~cmLocalGhsMultiGenerator() {}
void cmLocalGhsMultiGenerator::Generate()
{
cmGeneratorTargetsType tgts = this->GetMakefile()->GetGeneratorTargets();
if (!tgts.empty())
{
for (cmGeneratorTargetsType::iterator l = tgts.begin(); l != tgts.end();
++l)
{
cmGhsMultiTargetGenerator tg(l->second->Target);
tg.Generate();
}
}
}
// Implemented in:
// cmLocalGenerator.
// Used in:
// Source/cmMakefile.cxx
// Source/cmGlobalGenerator.cxx
void cmLocalGhsMultiGenerator::Configure()
{
// Compute the path to use when referencing the current output
// directory from the top output directory.
this->HomeRelativeOutputPath =
this->Convert(this->Makefile->GetCurrentBinaryDirectory(), HOME_OUTPUT);
if (this->HomeRelativeOutputPath == ".")
for (cmGeneratorTargetsType::iterator l = tgts.begin(); l != tgts.end();
++l)
{
this->HomeRelativeOutputPath = "";
if (l->second->Target->GetType() == cmTarget::INTERFACE_LIBRARY
|| l->second->Target->IsImported())
{
continue;
}
cmGhsMultiTargetGenerator tg(l->second->Target);
tg.Generate();
}
this->cmLocalGenerator::Configure();
}

View File

@ -29,28 +29,10 @@ public:
virtual ~cmLocalGhsMultiGenerator();
/// @returns the relative path between the HomeOutputDirectory and this
/// local generators StartOutputDirectory.
std::string GetHomeRelativeOutputPath() const
{
return this->HomeRelativeOutputPath;
}
/**
* Generate the makefile for this directory.
*/
virtual void Generate();
/// Overloaded methods. @see cmLocalGenerator::Configure()
virtual void Configure();
const char *GetBuildFileName() { return this->BuildFileName.c_str(); }
protected:
virtual bool CustomCommandUseLocal() const { return true; }
private:
std::string BuildFileName;
std::string HomeRelativeOutputPath;
};
#endif