diff options
author | Ken Martin <ken.martin@kitware.com> | 2007-04-12 18:21:58 (GMT) |
---|---|---|
committer | Ken Martin <ken.martin@kitware.com> | 2007-04-12 18:21:58 (GMT) |
commit | b4de606bdd604b0e7f4d98826aa5ea074084f890 (patch) | |
tree | 29dbb893921220bb15542ea40df66954aa667509 /Source | |
parent | 688ebad20eec4251a35c7fd632e96d404ee58328 (diff) | |
download | CMake-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.cxx | 39 |
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; |