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