BUG: improve progress reporting when there are multiple targets with the same name, bug# 7042

This commit is contained in:
Ken Martin 2008-05-29 11:50:33 -04:00
parent 535d76d276
commit 0b4375daf2
2 changed files with 6 additions and 6 deletions

@ -771,7 +771,7 @@ cmGlobalUnixMakefileGenerator3
cmLocalGenerator::FULL, cmLocalGenerator::FULL,
cmLocalGenerator::SHELL); cmLocalGenerator::SHELL);
// //
std::set<cmStdString> emitted; std::set<cmTarget *> emitted;
progCmd << " " progCmd << " "
<< this->GetTargetTotalNumberOfActions(t->second, << this->GetTargetTotalNumberOfActions(t->second,
emitted); emitted);
@ -848,13 +848,13 @@ cmGlobalUnixMakefileGenerator3
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
int cmGlobalUnixMakefileGenerator3 int cmGlobalUnixMakefileGenerator3
::GetTargetTotalNumberOfActions(cmTarget & target, ::GetTargetTotalNumberOfActions(cmTarget &target,
std::set<cmStdString> &emitted) std::set<cmTarget *> &emitted)
{ {
// do not double count // do not double count
int result = 0; int result = 0;
if(emitted.insert(target.GetName()).second) if(emitted.insert(&target).second)
{ {
cmLocalUnixMakefileGenerator3 *lg = cmLocalUnixMakefileGenerator3 *lg =
static_cast<cmLocalUnixMakefileGenerator3 *> static_cast<cmLocalUnixMakefileGenerator3 *>
@ -877,7 +877,7 @@ unsigned long cmGlobalUnixMakefileGenerator3
::GetNumberOfProgressActionsInAll(cmLocalUnixMakefileGenerator3 *lg) ::GetNumberOfProgressActionsInAll(cmLocalUnixMakefileGenerator3 *lg)
{ {
unsigned long result = 0; unsigned long result = 0;
std::set<cmStdString> emitted; std::set<cmTarget *> emitted;
std::set<cmTarget *>& targets = this->LocalGeneratorToTargetMap[lg]; std::set<cmTarget *>& targets = this->LocalGeneratorToTargetMap[lg];
for(std::set<cmTarget *>::iterator t = targets.begin(); for(std::set<cmTarget *>::iterator t = targets.begin();
t != targets.end(); ++t) t != targets.end(); ++t)

@ -115,7 +115,7 @@ public:
// returns some progress informaiton // returns some progress informaiton
int GetTargetTotalNumberOfActions(cmTarget & target, int GetTargetTotalNumberOfActions(cmTarget & target,
std::set<cmStdString> &emitted); std::set<cmTarget *> &emitted);
unsigned long GetNumberOfProgressActionsInAll unsigned long GetNumberOfProgressActionsInAll
(cmLocalUnixMakefileGenerator3 *lg); (cmLocalUnixMakefileGenerator3 *lg);