aboutsummaryrefslogtreecommitdiff
blob: ceb205ff586dfd730abed833f7c7c57d2fa1b18d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Patch by Heiko Przybyl

--- Source/cmComputeLinkInformation.cxx
+++ Source/cmComputeLinkInformation.cxx
@@ -1686,6 +1686,14 @@ std::string cmComputeLinkInformation::Ge
   for(std::vector<std::string>::const_iterator ri = runtimeDirs.begin();
       ri != runtimeDirs.end(); ++ri)
     {
+      // Do not add duplicates.
+      // I'd like to have that check already in the list generation code
+      // but that would need lots of more changes, even in ExpandListArgument().
+      if(*sep != '\0' && (rpath + sep).find(*ri + sep) != std::string::npos)
+        {
+          //std::cerr << "ignoring duplicate: '" << *ri << "' in '" << rpath << "'" << std::endl;
+          continue;
+        }
     // Separate from previous path.
     rpath += sep;
     sep = this->GetRuntimeSep().c_str();