cmComputeLinkInformation: Add GetDirectoriesWithBacktraces

This commit is contained in:
Justin Goshi
2019-09-11 10:31:05 -07:00
committed by Brad King
parent a209b31d0d
commit 0c6468178a
2 changed files with 23 additions and 0 deletions
+22
View File
@@ -431,6 +431,28 @@ std::vector<std::string> const& cmComputeLinkInformation::GetDirectories()
return this->OrderLinkerSearchPath->GetOrderedDirectories();
}
std::vector<BT<std::string>>
cmComputeLinkInformation::GetDirectoriesWithBacktraces()
{
std::vector<BT<std::string>> directoriesWithBacktraces;
std::vector<BT<std::string>> targetLinkDirectores =
this->Target->GetLinkDirectories(this->Config, this->LinkLanguage);
const std::vector<std::string>& orderedDirectories = this->GetDirectories();
for (const std::string& dir : orderedDirectories) {
auto result =
std::find(targetLinkDirectores.begin(), targetLinkDirectores.end(), dir);
if (result != targetLinkDirectores.end()) {
directoriesWithBacktraces.emplace_back(std::move(*result));
} else {
directoriesWithBacktraces.emplace_back(dir);
}
}
return directoriesWithBacktraces;
}
std::string cmComputeLinkInformation::GetRPathLinkString() const
{
// If there is no separate linker runtime search flag (-rpath-link)
+1
View File
@@ -48,6 +48,7 @@ public:
void AppendValues(std::string& result, std::vector<BT<std::string>>& values);
ItemVector const& GetItems() const;
std::vector<std::string> const& GetDirectories() const;
std::vector<BT<std::string>> GetDirectoriesWithBacktraces();
std::vector<std::string> const& GetDepends() const;
std::vector<std::string> const& GetFrameworkPaths() const;
std::string GetLinkLanguage() const { return this->LinkLanguage; }