20 lines
794 B
Diff
20 lines
794 B
Diff
|
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();
|