BUG: bad progress for named top level targets
This commit is contained in:
parent
21d7a242fd
commit
bdb530191d
@ -823,8 +823,10 @@ cmGlobalUnixMakefileGenerator3
|
|||||||
cmLocalGenerator::FULL,
|
cmLocalGenerator::FULL,
|
||||||
cmLocalGenerator::SHELL);
|
cmLocalGenerator::SHELL);
|
||||||
//
|
//
|
||||||
|
std::set<cmStdString> emitted;
|
||||||
progCmd << " "
|
progCmd << " "
|
||||||
<< this->GetTargetTotalNumberOfActions(t->second);
|
<< this->GetTargetTotalNumberOfActions(t->second,
|
||||||
|
emitted);
|
||||||
commands.push_back(progCmd.str());
|
commands.push_back(progCmd.str());
|
||||||
}
|
}
|
||||||
std::string tmp = cmake::GetCMakeFilesDirectoryPostSlash();
|
std::string tmp = cmake::GetCMakeFilesDirectoryPostSlash();
|
||||||
@ -895,18 +897,26 @@ cmGlobalUnixMakefileGenerator3
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
int cmGlobalUnixMakefileGenerator3
|
int cmGlobalUnixMakefileGenerator3
|
||||||
::GetTargetTotalNumberOfActions(cmTarget& target)
|
::GetTargetTotalNumberOfActions(cmTarget& target,
|
||||||
|
std::set<cmStdString> &emitted)
|
||||||
{
|
{
|
||||||
cmLocalUnixMakefileGenerator3 *lg =
|
// do not double count
|
||||||
static_cast<cmLocalUnixMakefileGenerator3 *>
|
int result = 0;
|
||||||
(target.GetMakefile()->GetLocalGenerator());
|
|
||||||
int result = static_cast<int>(lg->ProgressFiles[target.GetName()].size());
|
|
||||||
std::vector<cmTarget *>& depends = this->GetTargetDepends(target);
|
|
||||||
|
|
||||||
std::vector<cmTarget *>::iterator i;
|
if(emitted.insert(target.GetName()).second)
|
||||||
for (i = depends.begin(); i != depends.end(); ++i)
|
|
||||||
{
|
{
|
||||||
result += this->GetTargetTotalNumberOfActions(**i);
|
cmLocalUnixMakefileGenerator3 *lg =
|
||||||
|
static_cast<cmLocalUnixMakefileGenerator3 *>
|
||||||
|
(target.GetMakefile()->GetLocalGenerator());
|
||||||
|
result = static_cast<int>(lg->ProgressFiles[target.GetName()].size());
|
||||||
|
|
||||||
|
std::vector<cmTarget *>& depends = this->GetTargetDepends(target);
|
||||||
|
|
||||||
|
std::vector<cmTarget *>::iterator i;
|
||||||
|
for (i = depends.begin(); i != depends.end(); ++i)
|
||||||
|
{
|
||||||
|
result += this->GetTargetTotalNumberOfActions(**i, emitted);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
@ -124,7 +124,8 @@ public:
|
|||||||
const char* config, bool ignoreErrors, bool fast);
|
const char* config, bool ignoreErrors, bool fast);
|
||||||
|
|
||||||
// returns some progress informaiton
|
// returns some progress informaiton
|
||||||
int GetTargetTotalNumberOfActions(cmTarget& target);
|
int GetTargetTotalNumberOfActions(cmTarget& target,
|
||||||
|
std::set<cmStdString> &emitted);
|
||||||
unsigned long GetNumberOfProgressActionsInAll
|
unsigned long GetNumberOfProgressActionsInAll
|
||||||
(cmLocalUnixMakefileGenerator3 *lg);
|
(cmLocalUnixMakefileGenerator3 *lg);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user