cmTarget: Store context in stack only if different.
The PushTLLCommandTrace method is called once per link item for a single target_link_libraries command. Avoid storing copies of identical execution contexts and rely on the uniqueness while printing output.
This commit is contained in:
parent
9645cba3bf
commit
65a4284963
|
@ -1240,7 +1240,10 @@ bool cmTarget::PushTLLCommandTrace(TLLSignature signature)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cmListFileContext lfc = this->Makefile->GetExecutionContext();
|
cmListFileContext lfc = this->Makefile->GetExecutionContext();
|
||||||
|
if (this->TLLCommands.empty() || this->TLLCommands.back().second != lfc)
|
||||||
|
{
|
||||||
this->TLLCommands.push_back(std::make_pair(signature, lfc));
|
this->TLLCommands.push_back(std::make_pair(signature, lfc));
|
||||||
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1265,18 +1268,12 @@ void cmTarget::GetTllSignatureTraces(std::ostringstream &s,
|
||||||
= (sig == cmTarget::KeywordTLLSignature ? "keyword"
|
= (sig == cmTarget::KeywordTLLSignature ? "keyword"
|
||||||
: "plain");
|
: "plain");
|
||||||
s << "The uses of the " << sigString << " signature are here:\n";
|
s << "The uses of the " << sigString << " signature are here:\n";
|
||||||
UNORDERED_SET<std::string> emitted;
|
|
||||||
for(std::vector<cmListFileContext>::iterator it = sigs.begin();
|
for(std::vector<cmListFileContext>::iterator it = sigs.begin();
|
||||||
it != sigs.end(); ++it)
|
it != sigs.end(); ++it)
|
||||||
{
|
{
|
||||||
cmListFileContext lfc = *it;
|
cmListFileContext lfc = *it;
|
||||||
lfc.FilePath = lg->Convert(lfc.FilePath, cmLocalGenerator::HOME);
|
lfc.FilePath = lg->Convert(lfc.FilePath, cmLocalGenerator::HOME);
|
||||||
std::ostringstream line;
|
s << " * " << (lfc.Line ? "" : " in ") << lfc << std::endl;
|
||||||
line << " * " << (lfc.Line? "": " in ") << lfc << std::endl;
|
|
||||||
if (emitted.insert(line.str()).second)
|
|
||||||
{
|
|
||||||
s << line.str();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue