From 0ad329f7c09f67aa2ebae059fbbef6266c8f6515 Mon Sep 17 00:00:00 2001 From: jrp2014 <jrp2014@users.noreply.github.com> Date: Tue, 3 Apr 2018 19:20:39 +0100 Subject: 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. --- Source/cmMakefile.cxx | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 3ecd7eb..bbe6cc9 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -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); } } -- cgit v0.12