aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-04-11 15:16:22 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2018-05-07 06:57:30 +0000
commitf58f1b0b4e1b417c7f32b08ad59ad4b67f5f4e3a (patch)
tree2c45f13f16dd4ea27baa1476a8ab161dbd46fa7b
parent2773bf515bb14db31821990460e0bd01feb2c601 (diff)
setupRunEnv: Try harder to keep system run paths out of the environment
A simple string comparison is not always enough, because of soft links. Change-Id: Id1889fa70d5948a1db66d8e6a69b8a2fbb0e34dd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
-rw-r--r--share/qbs/modules/cpp/setuprunenv.js6
1 files changed, 5 insertions, 1 deletions
diff --git a/share/qbs/modules/cpp/setuprunenv.js b/share/qbs/modules/cpp/setuprunenv.js
index 5d8bb5248..550d08d63 100644
--- a/share/qbs/modules/cpp/setuprunenv.js
+++ b/share/qbs/modules/cpp/setuprunenv.js
@@ -115,7 +115,11 @@ function setupRunEnvironment(product, config)
var runPaths = product.cpp ? product.cpp.systemRunPaths : undefined;
if (runPaths && runPaths.length > 0) {
- var filterFunc = function(p) { return !runPaths.contains(p); };
+ var canonicalRunPaths = runPaths.map(function(p) { return File.canonicalFilePath(p); });
+ var filterFunc = function(libPath) {
+ return !runPaths.contains(libPath)
+ && !canonicalRunPaths.contains(File.canonicalFilePath(libPath));
+ };
libPaths = libPaths.filter(filterFunc);
frameworkPaths = frameworkPaths.filter(filterFunc);
}