GHS: Port API to cmGeneratorTarget.

This commit is contained in:
Stephen Kelly 2015-10-06 22:35:28 +02:00
parent 156bd2c983
commit 7ce0991a7a
3 changed files with 12 additions and 9 deletions

View File

@ -27,7 +27,7 @@ cmGhsMultiTargetGenerator::cmGhsMultiTargetGenerator(cmGeneratorTarget *target)
, LocalGenerator(static_cast<cmLocalGhsMultiGenerator *>( , LocalGenerator(static_cast<cmLocalGhsMultiGenerator *>(
target->GetLocalGenerator())) target->GetLocalGenerator()))
, Makefile(target->Target->GetMakefile()) , Makefile(target->Target->GetMakefile())
, TargetGroup(DetermineIfTargetGroup(target->Target)) , TargetGroup(DetermineIfTargetGroup(target))
, DynamicDownload(false) , DynamicDownload(false)
{ {
this->RelBuildFilePath = this->GetRelBuildFilePath(target->Target); this->RelBuildFilePath = this->GetRelBuildFilePath(target->Target);
@ -178,10 +178,11 @@ std::vector<cmSourceFile *> cmGhsMultiTargetGenerator::GetSources() const
GhsMultiGpj::Types cmGhsMultiTargetGenerator::GetGpjTag() const GhsMultiGpj::Types cmGhsMultiTargetGenerator::GetGpjTag() const
{ {
return cmGhsMultiTargetGenerator::GetGpjTag(this->Target); return cmGhsMultiTargetGenerator::GetGpjTag(this->GeneratorTarget);
} }
GhsMultiGpj::Types cmGhsMultiTargetGenerator::GetGpjTag(const cmTarget *target) GhsMultiGpj::Types cmGhsMultiTargetGenerator::GetGpjTag(
const cmGeneratorTarget *target)
{ {
GhsMultiGpj::Types output; GhsMultiGpj::Types output;
if (cmGhsMultiTargetGenerator::DetermineIfTargetGroup(target)) if (cmGhsMultiTargetGenerator::DetermineIfTargetGroup(target))
@ -566,13 +567,14 @@ bool cmGhsMultiTargetGenerator::IsNotKernel(std::string const &config,
return output; return output;
} }
bool cmGhsMultiTargetGenerator::DetermineIfTargetGroup(const cmTarget *target) bool cmGhsMultiTargetGenerator::DetermineIfTargetGroup(
const cmGeneratorTarget *target)
{ {
bool output = false; bool output = false;
std::vector<cmSourceFile *> sources; std::vector<cmSourceFile *> sources;
std::string config = std::string config =
target->GetMakefile()->GetSafeDefinition("CMAKE_BUILD_TYPE"); target->Target->GetMakefile()->GetSafeDefinition("CMAKE_BUILD_TYPE");
target->GetSourceFiles(sources, config); target->Target->GetSourceFiles(sources, config);
for (std::vector<cmSourceFile *>::const_iterator sources_i = sources.begin(); for (std::vector<cmSourceFile *>::const_iterator sources_i = sources.begin();
sources.end() != sources_i; ++sources_i) sources.end() != sources_i; ++sources_i)
{ {

View File

@ -36,7 +36,7 @@ public:
bool IncludeThisTarget(); bool IncludeThisTarget();
std::vector<cmSourceFile *> GetSources() const; std::vector<cmSourceFile *> GetSources() const;
GhsMultiGpj::Types GetGpjTag() const; GhsMultiGpj::Types GetGpjTag() const;
static GhsMultiGpj::Types GetGpjTag(const cmTarget *target); static GhsMultiGpj::Types GetGpjTag(const cmGeneratorTarget* target);
const char *GetAbsBuildFilePath() const const char *GetAbsBuildFilePath() const
{ {
return this->AbsBuildFilePath.c_str(); return this->AbsBuildFilePath.c_str();
@ -95,7 +95,7 @@ private:
std::string GetOutputFilename(const std::string &config) const; std::string GetOutputFilename(const std::string &config) const;
bool IsNotKernel(std::string const &config, const std::string &language); bool IsNotKernel(std::string const &config, const std::string &language);
static bool DetermineIfTargetGroup(const cmTarget *target); static bool DetermineIfTargetGroup(const cmGeneratorTarget* target);
bool DetermineIfDynamicDownload(std::string const &config, bool DetermineIfDynamicDownload(std::string const &config,
const std::string &language); const std::string &language);

View File

@ -509,7 +509,8 @@ void cmGlobalGhsMultiGenerator::UpdateBuildFiles(
splitPath.back()); splitPath.back());
*this->TargetFolderBuildStreams[folderName] << foldNameRelBuildFile *this->TargetFolderBuildStreams[folderName] << foldNameRelBuildFile
<< " "; << " ";
GhsMultiGpj::WriteGpjTag(cmGhsMultiTargetGenerator::GetGpjTag(tgt), GhsMultiGpj::WriteGpjTag(cmGhsMultiTargetGenerator::GetGpjTag(
tgtsI->second),
this->TargetFolderBuildStreams[folderName]); this->TargetFolderBuildStreams[folderName]);
} }
} }