summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorKen Martin <ken.martin@kitware.com>2007-04-12 18:21:58 (GMT)
committerKen Martin <ken.martin@kitware.com>2007-04-12 18:21:58 (GMT)
commitb4de606bdd604b0e7f4d98826aa5ea074084f890 (patch)
tree29dbb893921220bb15542ea40df66954aa667509 /Source
parent688ebad20eec4251a35c7fd632e96d404ee58328 (diff)
downloadCMake-b4de606bdd604b0e7f4d98826aa5ea074084f890.zip
CMake-b4de606bdd604b0e7f4d98826aa5ea074084f890.tar.gz
CMake-b4de606bdd604b0e7f4d98826aa5ea074084f890.tar.bz2
BUG: fix progress for ENCLUDE_FORM_ALL cases using new project to target map. Only fixes it for the top level all target
Diffstat (limited to 'Source')
-rw-r--r--Source/cmGlobalUnixMakefileGenerator3.cxx39
1 files changed, 14 insertions, 25 deletions
diff --git a/Source/cmGlobalUnixMakefileGenerator3.cxx b/Source/cmGlobalUnixMakefileGenerator3.cxx
index d6f0db2..f846f40 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.cxx
+++ b/Source/cmGlobalUnixMakefileGenerator3.cxx
@@ -912,40 +912,29 @@ int cmGlobalUnixMakefileGenerator3
return result;
}
-unsigned long cmGlobalUnixMakefileGenerator3::
-GetNumberOfProgressActionsInAll(cmLocalUnixMakefileGenerator3 *lg)
+unsigned long cmGlobalUnixMakefileGenerator3
+::GetNumberOfProgressActionsInAll(cmLocalUnixMakefileGenerator3 *lg)
{
unsigned long result = 0;
// for every target in the top level all
if (!lg->GetParent())
{
- // loop over the generators and targets
- unsigned int i;
- cmLocalUnixMakefileGenerator3 *lg3;
- for (i = 0; i < this->LocalGenerators.size(); ++i)
+ // use the new project to target map
+ std::set<cmTarget*> &targets =
+ this->ProjectToTargetMap[lg->GetMakefile()->GetProjectName()];
+ std::set<cmTarget*>::iterator t = targets.begin();
+ for(; t != targets.end(); ++t)
{
- lg3 = static_cast<cmLocalUnixMakefileGenerator3 *>
- (this->LocalGenerators[i]);
- // for each target Generate the rule files for each target.
- cmTargets& targets = lg3->GetMakefile()->GetTargets();
- for(cmTargets::iterator t = targets.begin(); t != targets.end(); ++t)
- {
- if((t->second.GetType() == cmTarget::EXECUTABLE) ||
- (t->second.GetType() == cmTarget::STATIC_LIBRARY) ||
- (t->second.GetType() == cmTarget::SHARED_LIBRARY) ||
- (t->second.GetType() == cmTarget::MODULE_LIBRARY) ||
- (t->second.GetType() == cmTarget::UTILITY))
- {
- if (!t->second.GetPropertyAsBool("EXCLUDE_FROM_ALL"))
- {
- std::vector<int> &progFiles = lg3->ProgressFiles[t->first];
- result += static_cast<unsigned long>(progFiles.size());
- }
- }
- }
+ cmTarget* target = *t;
+ cmLocalUnixMakefileGenerator3 *lg3 =
+ static_cast<cmLocalUnixMakefileGenerator3 *>
+ (target->GetMakefile()->GetLocalGenerator());
+ std::vector<int> &progFiles = lg3->ProgressFiles[target->GetName()];
+ result += static_cast<unsigned long>(progFiles.size());
}
}
+ // for subdirectories
else
{
std::deque<cmLocalUnixMakefileGenerator3 *> lg3Stack;