Sanitize paths from LINK_DIRECTORIES directory property

Normally they are sanitized by the `link_directories` command before
populating the property, but projects may set the property directly.
This commit is contained in:
jrp2014
2018-04-03 19:20:39 +01:00
committed by Brad King
parent 561238bb6f
commit 0ad329f7c0

View File

@@ -1836,12 +1836,10 @@ void cmMakefile::AddGlobalLinkInformation(cmTarget& target)
std::vector<std::string> linkDirs;
cmSystemTools::ExpandListArgument(linkDirsProp, linkDirs);
for (std::string const& linkDir : linkDirs) {
std::string newdir = linkDir;
// remove trailing slashes
if (*linkDir.rbegin() == '/') {
newdir = linkDir.substr(0, linkDir.size() - 1);
}
for (std::string& linkDir : linkDirs) {
// Sanitize the path the same way the link_directories command does
// in case projects set the LINK_DIRECTORIES property directly.
cmSystemTools::ConvertToUnixSlashes(linkDir);
target.AddLinkDirectory(linkDir);
}
}