Merge branch 'backport-3.16-link-line-backtrace'

This commit is contained in:
Brad King
2020-02-10 16:16:56 -05:00
9 changed files with 85 additions and 93 deletions
+4 -18
View File
@@ -9,7 +9,6 @@
#include "cmComputeLinkInformation.h"
#include "cmGeneratorTarget.h"
#include "cmLinkItem.h"
#include "cmListFileCache.h"
#include "cmOutputConverter.h"
#include "cmStateDirectory.h"
@@ -85,27 +84,14 @@ void cmLinkLineComputer::ComputeLinkLibs(
BT<std::string> linkLib;
if (item.IsPath) {
linkLib.Value += cli.GetLibLinkFileFlag();
linkLib.Value +=
this->ConvertToOutputFormat(this->ConvertToLinkReference(item.Value));
linkLib.Value += this->ConvertToOutputFormat(
this->ConvertToLinkReference(item.Value.Value));
linkLib.Backtrace = item.Value.Backtrace;
} else {
linkLib.Value += item.Value;
linkLib = item.Value;
}
linkLib.Value += " ";
const cmLinkImplementation* linkImpl =
cli.GetTarget()->GetLinkImplementation(cli.GetConfig());
for (const cmLinkImplItem& iter : linkImpl->Libraries) {
if (iter.Target != nullptr &&
iter.Target->GetType() != cmStateEnums::INTERFACE_LIBRARY) {
std::string libPath = iter.Target->GetLocation(cli.GetConfig());
if (item.Value == libPath) {
linkLib.Backtrace = iter.Backtrace;
break;
}
}
}
linkLibraries.emplace_back(linkLib);
}
}