Commit a0a720e6 authored by Stephen Kelly's avatar Stephen Kelly
Browse files

cm{,Generator}Target: Add global generator accessors

Provide 'static polymorphism' between the types in this aspect so that
they can be used indiscriminately in a C++ template.
parent 637e3f3e
...@@ -320,6 +320,11 @@ cmGeneratorTarget::~cmGeneratorTarget() ...@@ -320,6 +320,11 @@ cmGeneratorTarget::~cmGeneratorTarget()
cmDeleteAll(this->LinkInformation); cmDeleteAll(this->LinkInformation);
} }
cmGlobalGenerator* cmGeneratorTarget::GetGlobalGenerator() const
{
return this->GetLocalGenerator()->GetGlobalGenerator();
}
cmLocalGenerator* cmGeneratorTarget::GetLocalGenerator() const cmLocalGenerator* cmGeneratorTarget::GetLocalGenerator() const
{ {
return this->LocalGenerator; return this->LocalGenerator;
......
...@@ -32,6 +32,8 @@ public: ...@@ -32,6 +32,8 @@ public:
cmLocalGenerator* GetLocalGenerator() const; cmLocalGenerator* GetLocalGenerator() const;
cmGlobalGenerator* GetGlobalGenerator() const;
bool IsImported() const; bool IsImported() const;
bool IsImportedGloballyVisible() const; bool IsImportedGloballyVisible() const;
const char* GetLocation(const std::string& config) const; const char* GetLocation(const std::string& config) const;
......
...@@ -272,6 +272,11 @@ cmTarget::cmTarget(std::string const& name, cmState::TargetType type, ...@@ -272,6 +272,11 @@ cmTarget::cmTarget(std::string const& name, cmState::TargetType type,
} }
} }
cmGlobalGenerator* cmTarget::GetGlobalGenerator() const
{
return this->GetMakefile()->GetGlobalGenerator();
}
void cmTarget::AddUtility(const std::string& u, cmMakefile* makefile) void cmTarget::AddUtility(const std::string& u, cmMakefile* makefile)
{ {
if (this->Utilities.insert(u).second && makefile) { if (this->Utilities.insert(u).second && makefile) {
......
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
class cmMakefile; class cmMakefile;
class cmSourceFile; class cmSourceFile;
class cmGlobalGenerator;
class cmTargetInternals; class cmTargetInternals;
class cmTargetInternalPointer class cmTargetInternalPointer
...@@ -76,6 +77,8 @@ public: ...@@ -76,6 +77,8 @@ public:
*/ */
cmState::TargetType GetType() const { return this->TargetTypeValue; } cmState::TargetType GetType() const { return this->TargetTypeValue; }
cmGlobalGenerator* GetGlobalGenerator() const;
///! Set/Get the name of the target ///! Set/Get the name of the target
const std::string& GetName() const { return this->Name; } const std::string& GetName() const { return this->Name; }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment