From f94bdb3deb70d0fa7ed5275609318be8ac79503b Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Fri, 26 Jul 2013 14:02:18 +0200 Subject: cmTarget: Remove duplicates when printing traces of tll signatures --- Source/cmTarget.cxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 6dde5ed..136c43c 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -2521,6 +2521,7 @@ void cmTarget::GetTllSignatureTraces(cmOStringStream &s, = (sig == cmTarget::KeywordTLLSignature ? "keyword" : "plain"); s << "The uses of the " << sigString << " signature are here:\n"; + std::set emitted; for(std::vector::const_iterator it = sigs.begin(); it != sigs.end(); ++it) { @@ -2528,7 +2529,12 @@ void cmTarget::GetTllSignatureTraces(cmOStringStream &s, if(i != it->end()) { cmListFileContext const& lfc = *i; - s << " * " << (lfc.Line? "": " in ") << lfc << std::endl; + cmOStringStream line; + line << " * " << (lfc.Line? "": " in ") << lfc << std::endl; + if (emitted.insert(line.str()).second) + { + s << line.str(); + } ++i; } } -- cgit v0.12