diff --git a/utils/deploy_tool/main.cpp b/utils/deploy_tool/main.cpp index 43a56f77..fc9c3a2c 100644 --- a/utils/deploy_tool/main.cpp +++ b/utils/deploy_tool/main.cpp @@ -143,11 +143,29 @@ PIString findLib(const PIString & l) { piForeachC (PIString & s, lib_dirs) { if (PIFile::isExists(s + l)) return s + l; - if (win_target) { - if (PIFile::isExists(s + l.toLowerCase())) - return s + l.toLowerCase(); - if (PIFile::isExists(s + l.toUpperCase())) - return s + l.toUpperCase(); + if (win_target || l.toLowerCase().endsWith("dll")) { + PIFile::FileInfo info(l); + PIString fn = info.baseName(), fe = info.extension(), nn; + + nn = s + fn + "." + fe.toLowerCase(); + if (PIFile::isExists(nn)) return nn; + nn = s + fn + "." + fe.toUpperCase(); + if (PIFile::isExists(nn)) return nn; + + nn = s + fn.toLowerCase() + "." + fe; + if (PIFile::isExists(nn)) return nn; + nn = s + fn.toLowerCase() + "." + fe.toLowerCase(); + if (PIFile::isExists(nn)) return nn; + nn = s + fn.toLowerCase() + "." + fe.toUpperCase(); + if (PIFile::isExists(nn)) return nn; + + nn = s + fn.toUpperCase() + "." + fe; + if (PIFile::isExists(nn)) return nn; + nn = s + fn.toUpperCase() + "." + fe.toLowerCase(); + if (PIFile::isExists(nn)) return nn; + nn = s + fn.toUpperCase() + "." + fe.toUpperCase(); + if (PIFile::isExists(nn)) return nn; + } } return "";