Genex: Port some access API to cmGeneratorTarget.
This commit is contained in:
parent
6d27a3dbfb
commit
c4ae157865
|
@ -84,13 +84,14 @@ std::string cmExportTryCompileFileGenerator::FindTargets(
|
|||
false, &gDummyHead,
|
||||
gtgt, &dagChecker);
|
||||
|
||||
const std::set<cmTarget const*> &allTargets = cge->GetAllTargetsSeen();
|
||||
for(std::set<cmTarget const*>::const_iterator li = allTargets.begin();
|
||||
li != allTargets.end(); ++li)
|
||||
const std::set<cmGeneratorTarget const*> &allTargets =
|
||||
cge->GetAllTargetsSeen();
|
||||
for(std::set<cmGeneratorTarget const*>::const_iterator li =
|
||||
allTargets.begin(); li != allTargets.end(); ++li)
|
||||
{
|
||||
if(emitted.insert(*li).second)
|
||||
if(emitted.insert((*li)->Target).second)
|
||||
{
|
||||
this->Exports.push_back(*li);
|
||||
this->Exports.push_back((*li)->Target);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
|
|
@ -11,10 +11,9 @@
|
|||
============================================================================*/
|
||||
#include "cmGeneratorExpression.h"
|
||||
|
||||
#include "cmMakefile.h"
|
||||
#include "cmTarget.h"
|
||||
#include "assert.h"
|
||||
#include "cmAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
|
||||
#include "cmGeneratorExpressionEvaluator.h"
|
||||
#include "cmGeneratorExpressionLexer.h"
|
||||
|
@ -463,10 +462,11 @@ bool cmGeneratorExpression::IsValidTargetName(const std::string &input)
|
|||
|
||||
//----------------------------------------------------------------------------
|
||||
void
|
||||
cmCompiledGeneratorExpression::GetMaxLanguageStandard(cmTarget const* tgt,
|
||||
cmCompiledGeneratorExpression::GetMaxLanguageStandard(
|
||||
const cmGeneratorTarget* tgt,
|
||||
std::map<std::string, std::string>& mapping)
|
||||
{
|
||||
typedef std::map<cmTarget const*,
|
||||
typedef std::map<cmGeneratorTarget const*,
|
||||
std::map<std::string, std::string> > MapType;
|
||||
MapType::const_iterator it = this->MaxLanguageStandard.find(tgt);
|
||||
if (it != this->MaxLanguageStandard.end())
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
#include <cmsys/RegularExpression.hxx>
|
||||
#include <cmsys/auto_ptr.hxx>
|
||||
|
||||
class cmTarget;
|
||||
class cmGeneratorTarget;
|
||||
class cmLocalGenerator;
|
||||
class cmListFileBacktrace;
|
||||
|
@ -92,13 +91,13 @@ public:
|
|||
std::string const& language = std::string()) const;
|
||||
|
||||
/** Get set of targets found during evaluations. */
|
||||
std::set<cmTarget*> const& GetTargets() const
|
||||
std::set<cmGeneratorTarget*> const& GetTargets() const
|
||||
{ return this->DependTargets; }
|
||||
|
||||
std::set<std::string> const& GetSeenTargetProperties() const
|
||||
{ return this->SeenTargetProperties; }
|
||||
|
||||
std::set<cmTarget const*> const& GetAllTargetsSeen() const
|
||||
std::set<cmGeneratorTarget const*> const& GetAllTargetsSeen() const
|
||||
{ return this->AllTargetsSeen; }
|
||||
|
||||
~cmCompiledGeneratorExpression();
|
||||
|
@ -120,7 +119,7 @@ public:
|
|||
{
|
||||
return this->HadHeadSensitiveCondition;
|
||||
}
|
||||
std::set<cmTarget const*> GetSourceSensitiveTargets() const
|
||||
std::set<cmGeneratorTarget const*> GetSourceSensitiveTargets() const
|
||||
{
|
||||
return this->SourceSensitiveTargets;
|
||||
}
|
||||
|
@ -130,7 +129,7 @@ public:
|
|||
this->EvaluateForBuildsystem = eval;
|
||||
}
|
||||
|
||||
void GetMaxLanguageStandard(cmTarget const* tgt,
|
||||
void GetMaxLanguageStandard(cmGeneratorTarget const* tgt,
|
||||
std::map<std::string, std::string>& mapping);
|
||||
|
||||
private:
|
||||
|
@ -150,15 +149,15 @@ private:
|
|||
const std::string Input;
|
||||
bool NeedsEvaluation;
|
||||
|
||||
mutable std::set<cmTarget*> DependTargets;
|
||||
mutable std::set<cmTarget const*> AllTargetsSeen;
|
||||
mutable std::set<cmGeneratorTarget*> DependTargets;
|
||||
mutable std::set<cmGeneratorTarget const*> AllTargetsSeen;
|
||||
mutable std::set<std::string> SeenTargetProperties;
|
||||
mutable std::map<cmTarget const*, std::map<std::string, std::string> >
|
||||
MaxLanguageStandard;
|
||||
mutable std::map<cmGeneratorTarget const*,
|
||||
std::map<std::string, std::string> > MaxLanguageStandard;
|
||||
mutable std::string Output;
|
||||
mutable bool HadContextSensitiveCondition;
|
||||
mutable bool HadHeadSensitiveCondition;
|
||||
mutable std::set<cmTarget const*> SourceSensitiveTargets;
|
||||
mutable std::set<cmGeneratorTarget const*> SourceSensitiveTargets;
|
||||
bool EvaluateForBuildsystem;
|
||||
};
|
||||
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
#include <map>
|
||||
#include <string>
|
||||
|
||||
class cmTarget;
|
||||
class cmGeneratorTarget;
|
||||
class cmLocalGenerator;
|
||||
|
||||
|
@ -34,11 +33,11 @@ struct cmGeneratorExpressionContext
|
|||
|
||||
|
||||
cmListFileBacktrace Backtrace;
|
||||
std::set<cmTarget*> DependTargets;
|
||||
std::set<cmTarget const*> AllTargets;
|
||||
std::set<cmGeneratorTarget*> DependTargets;
|
||||
std::set<cmGeneratorTarget const*> AllTargets;
|
||||
std::set<std::string> SeenTargetProperties;
|
||||
std::set<cmTarget const*> SourceSensitiveTargets;
|
||||
std::map<cmTarget const*, std::map<std::string, std::string> >
|
||||
std::set<cmGeneratorTarget const*> SourceSensitiveTargets;
|
||||
std::map<cmGeneratorTarget const*, std::map<std::string, std::string> >
|
||||
MaxLanguageStandard;
|
||||
cmLocalGenerator *LG;
|
||||
std::string Config;
|
||||
|
|
|
@ -964,7 +964,7 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode
|
|||
reportError(context, content->GetOriginalExpression(), e.str());
|
||||
return std::string();
|
||||
}
|
||||
context->AllTargets.insert(target->Target);
|
||||
context->AllTargets.insert(target);
|
||||
}
|
||||
|
||||
if (target == context->HeadTarget)
|
||||
|
@ -977,7 +977,7 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode
|
|||
}
|
||||
if (propertyName == "SOURCES")
|
||||
{
|
||||
context->SourceSensitiveTargets.insert(target->Target);
|
||||
context->SourceSensitiveTargets.insert(target);
|
||||
}
|
||||
|
||||
if (propertyName.empty())
|
||||
|
@ -1412,7 +1412,7 @@ static const struct CompileFeaturesNode : public cmGeneratorExpressionNode
|
|||
l = standardDefault;
|
||||
}
|
||||
assert(l);
|
||||
context->MaxLanguageStandard[target->Target][lit->first] = l;
|
||||
context->MaxLanguageStandard[target][lit->first] = l;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1756,8 +1756,8 @@ struct TargetFilesystemArtifact : public cmGeneratorExpressionNode
|
|||
"be used while evaluating link libraries");
|
||||
return std::string();
|
||||
}
|
||||
context->DependTargets.insert(target->Target);
|
||||
context->AllTargets.insert(target->Target);
|
||||
context->DependTargets.insert(target);
|
||||
context->AllTargets.insert(target);
|
||||
|
||||
std::string result =
|
||||
TargetFilesystemArtifactResultCreator<ArtifactT>::Create(
|
||||
|
|
|
@ -2173,9 +2173,9 @@ cmTargetTraceDependencies
|
|||
si != sources.end(); ++si)
|
||||
{
|
||||
cmSourceFile* sf = *si;
|
||||
const std::set<cmTarget const*> tgts =
|
||||
const std::set<cmGeneratorTarget const*> tgts =
|
||||
this->GlobalGenerator->GetFilenameTargetDepends(sf);
|
||||
if (tgts.find(this->Target) != tgts.end())
|
||||
if (tgts.find(this->GeneratorTarget) != tgts.end())
|
||||
{
|
||||
std::ostringstream e;
|
||||
e << "Evaluation output file\n \"" << sf->GetFullPath()
|
||||
|
@ -2353,7 +2353,7 @@ cmTargetTraceDependencies
|
|||
cmGeneratorExpression ge(cc.GetBacktrace());
|
||||
|
||||
// Add target-level dependencies referenced by generator expressions.
|
||||
std::set<cmTarget*> targets;
|
||||
std::set<cmGeneratorTarget*> targets;
|
||||
|
||||
for(cmCustomCommandLines::const_iterator cit = cc.GetCommandLines().begin();
|
||||
cit != cc.GetCommandLines().end(); ++cit)
|
||||
|
@ -2379,12 +2379,12 @@ cmTargetTraceDependencies
|
|||
const cmsys::auto_ptr<cmCompiledGeneratorExpression> cge
|
||||
= ge.Parse(*cli);
|
||||
cge->Evaluate(this->GeneratorTarget->GetLocalGenerator(), "", true);
|
||||
std::set<cmTarget*> geTargets = cge->GetTargets();
|
||||
std::set<cmGeneratorTarget*> geTargets = cge->GetTargets();
|
||||
targets.insert(geTargets.begin(), geTargets.end());
|
||||
}
|
||||
}
|
||||
|
||||
for(std::set<cmTarget*>::iterator ti = targets.begin();
|
||||
for(std::set<cmGeneratorTarget*>::iterator ti = targets.begin();
|
||||
ti != targets.end(); ++ti)
|
||||
{
|
||||
this->Target->AddUtility((*ti)->GetName());
|
||||
|
@ -5412,7 +5412,7 @@ void cmGeneratorTarget::ComputeLinkImplementationLibraries(
|
|||
this->LinkImplicitNullProperties.insert(*it);
|
||||
}
|
||||
}
|
||||
cge->GetMaxLanguageStandard(this->Target,
|
||||
cge->GetMaxLanguageStandard(this,
|
||||
this->MaxLanguageStandards);
|
||||
}
|
||||
|
||||
|
|
|
@ -3029,13 +3029,13 @@ std::string cmGlobalGenerator::EscapeJSON(const std::string& s) {
|
|||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmGlobalGenerator::SetFilenameTargetDepends(cmSourceFile* sf,
|
||||
std::set<cmTarget const*> tgts)
|
||||
std::set<cmGeneratorTarget const*> tgts)
|
||||
{
|
||||
this->FilenameTargetDepends[sf] = tgts;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
std::set<cmTarget const*> const&
|
||||
std::set<cmGeneratorTarget const*> const&
|
||||
cmGlobalGenerator::GetFilenameTargetDepends(cmSourceFile* sf) const {
|
||||
return this->FilenameTargetDepends[sf];
|
||||
}
|
||||
|
|
|
@ -354,8 +354,8 @@ public:
|
|||
void CreateEvaluationSourceFiles(std::string const& config) const;
|
||||
|
||||
void SetFilenameTargetDepends(cmSourceFile* sf,
|
||||
std::set<cmTarget const*> tgts);
|
||||
std::set<cmTarget const*> const&
|
||||
std::set<const cmGeneratorTarget*> tgts);
|
||||
const std::set<const cmGeneratorTarget*>&
|
||||
GetFilenameTargetDepends(cmSourceFile* sf) const;
|
||||
|
||||
#if defined(CMAKE_BUILD_WITH_CMAKE)
|
||||
|
@ -508,7 +508,7 @@ private:
|
|||
// track targets to issue CMP0042 warning for.
|
||||
std::set<std::string> CMP0042WarnTargets;
|
||||
|
||||
mutable std::map<cmSourceFile*, std::set<cmTarget const*> >
|
||||
mutable std::map<cmSourceFile*, std::set<cmGeneratorTarget const*> >
|
||||
FilenameTargetDepends;
|
||||
|
||||
#if defined(CMAKE_BUILD_WITH_CMAKE)
|
||||
|
|
Loading…
Reference in New Issue