summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2015-06-06 13:24:24 (GMT)
committerStephen Kelly <steveire@gmail.com>2015-07-01 17:46:19 (GMT)
commitd4a8a554ea2b3af2ea850cf003e35ac23118a33b (patch)
treeeb0e9171131c216ad11c493ab34ca760c569d360
parentfaec4e611d08ea2f75d2127e3ca3f5e9a427465b (diff)
downloadCMake-d4a8a554ea2b3af2ea850cf003e35ac23118a33b.zip
CMake-d4a8a554ea2b3af2ea850cf003e35ac23118a33b.tar.gz
CMake-d4a8a554ea2b3af2ea850cf003e35ac23118a33b.tar.bz2
cmGlobalGenerator: Map local generators to generator targets.
-rw-r--r--Source/cmGlobalGenerator.cxx9
-rw-r--r--Source/cmGlobalGenerator.h2
-rw-r--r--Source/cmGlobalUnixMakefileGenerator3.cxx15
-rw-r--r--Source/cmGlobalUnixMakefileGenerator3.h2
4 files changed, 13 insertions, 15 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index a69732e..f310744 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -2043,20 +2043,19 @@ void cmGlobalGenerator::FillLocalGeneratorToTargetMap()
clg = clg->GetParent())
{
// This local generator includes the target.
- std::set<cmTarget const*>& targetSet =
+ std::set<cmGeneratorTarget const*>& targetSet =
this->LocalGeneratorToTargetMap[clg];
- targetSet.insert(&target);
+ cmGeneratorTarget* gt = this->GetGeneratorTarget(&target);
+ targetSet.insert(gt);
// Add dependencies of the included target. An excluded
// target may still be included if it is a dependency of a
// non-excluded target.
- cmGeneratorTarget* gt = this->GetGeneratorTarget(&target);
TargetDependSet const& tgtdeps = this->GetTargetDirectDepends(gt);
for(TargetDependSet::const_iterator ti = tgtdeps.begin();
ti != tgtdeps.end(); ++ti)
{
- cmGeneratorTarget const* ttt = *ti;
- targetSet.insert(ttt->Target);
+ targetSet.insert(*ti);
}
}
}
diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h
index f86e825..398335b 100644
--- a/Source/cmGlobalGenerator.h
+++ b/Source/cmGlobalGenerator.h
@@ -406,7 +406,7 @@ protected:
cmMakefile* CurrentMakefile;
// map from project name to vector of local generators in that project
std::map<std::string, std::vector<cmLocalGenerator*> > ProjectMap;
- std::map<cmLocalGenerator*, std::set<cmTarget const*> >
+ std::map<cmLocalGenerator*, std::set<cmGeneratorTarget const*> >
LocalGeneratorToTargetMap;
// Set of named installation components requested by the project.
diff --git a/Source/cmGlobalUnixMakefileGenerator3.cxx b/Source/cmGlobalUnixMakefileGenerator3.cxx
index 412728f..e6a67d3 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.cxx
+++ b/Source/cmGlobalUnixMakefileGenerator3.cxx
@@ -830,7 +830,7 @@ cmGlobalUnixMakefileGenerator3
cmLocalGenerator::FULL,
cmLocalGenerator::SHELL);
//
- std::set<cmTarget const*> emitted;
+ std::set<cmGeneratorTarget const*> emitted;
progCmd << " "
<< this->CountProgressMarksInTarget(gtarget, emitted);
commands.push_back(progCmd.str());
@@ -909,10 +909,10 @@ cmGlobalUnixMakefileGenerator3
size_t
cmGlobalUnixMakefileGenerator3
::CountProgressMarksInTarget(cmGeneratorTarget const* target,
- std::set<cmTarget const*>& emitted)
+ std::set<cmGeneratorTarget const*>& emitted)
{
size_t count = 0;
- if(emitted.insert(target->Target).second)
+ if(emitted.insert(target).second)
{
count = this->ProgressMap[target->Target].Marks.size();
TargetDependSet const& depends = this->GetTargetDirectDepends(target);
@@ -935,14 +935,13 @@ cmGlobalUnixMakefileGenerator3
::CountProgressMarksInAll(cmLocalUnixMakefileGenerator3* lg)
{
size_t count = 0;
- std::set<cmTarget const*> emitted;
- std::set<cmTarget const*> const& targets
+ std::set<cmGeneratorTarget const*> emitted;
+ std::set<cmGeneratorTarget const*> const& targets
= this->LocalGeneratorToTargetMap[lg];
- for(std::set<cmTarget const*>::const_iterator t = targets.begin();
+ for(std::set<cmGeneratorTarget const*>::const_iterator t = targets.begin();
t != targets.end(); ++t)
{
- cmGeneratorTarget* gt = this->GetGeneratorTarget(*t);
- count += this->CountProgressMarksInTarget(gt, emitted);
+ count += this->CountProgressMarksInTarget(*t, emitted);
}
return count;
}
diff --git a/Source/cmGlobalUnixMakefileGenerator3.h b/Source/cmGlobalUnixMakefileGenerator3.h
index 8805011..14adf2e 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.h
+++ b/Source/cmGlobalUnixMakefileGenerator3.h
@@ -199,7 +199,7 @@ protected:
ProgressMapType ProgressMap;
size_t CountProgressMarksInTarget(cmGeneratorTarget const* target,
- std::set<cmTarget const*>& emitted);
+ std::set<cmGeneratorTarget const*>& emitted);
size_t CountProgressMarksInAll(cmLocalUnixMakefileGenerator3* lg);
cmGeneratedFileStream *CommandDatabase;