Patch by Heiko Przybyl --- Source/cmComputeLinkInformation.cxx +++ Source/cmComputeLinkInformation.cxx @@ -1686,6 +1686,14 @@ std::string cmComputeLinkInformation::Ge for(std::vector::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();