aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2018-05-09 13:52:33 +0200
committerJoerg Bornemann <joerg.bornemann@qt.io>2018-05-09 13:52:33 +0200
commit75e308f6eecf56d59ecec31752077785d2a0a29e (patch)
tree39e946d1160e81afd8da0aa8f8f383d495a38232
parent15751999bbfa66015f48bbdde2fea2d4e8fed61a (diff)
parentc4e4bb9604a884ca5966ebab19e510a1966f798a (diff)
Merge remote-tracking branch 'origin/1.11'
-rw-r--r--share/qbs/modules/cpp/setuprunenv.js6
-rw-r--r--src/lib/corelib/corelib.qbs2
-rw-r--r--src/lib/corelib/language/itemreader.cpp9
3 files changed, 13 insertions, 4 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);
}
diff --git a/src/lib/corelib/corelib.qbs b/src/lib/corelib/corelib.qbs
index eff34ab51..e1fe4cf9b 100644
--- a/src/lib/corelib/corelib.qbs
+++ b/src/lib/corelib/corelib.qbs
@@ -497,6 +497,6 @@ QbsLibrary {
}
Export {
Depends { name: "cpp" }
- cpp.defines: product.projectFileUpdateDefines
+ cpp.defines: base.concat(product.projectFileUpdateDefines)
}
}
diff --git a/src/lib/corelib/language/itemreader.cpp b/src/lib/corelib/language/itemreader.cpp
index 22f4ff11c..578f194bc 100644
--- a/src/lib/corelib/language/itemreader.cpp
+++ b/src/lib/corelib/language/itemreader.cpp
@@ -50,10 +50,15 @@
namespace qbs {
namespace Internal {
-void makePathsCanonical(QStringList &paths)
+static void makePathsCanonical(QStringList &paths)
{
- for (QString &p : paths)
+ auto it = std::remove_if(paths.begin(), paths.end(), [](QString &p) {
p = QFileInfo(p).canonicalFilePath();
+ return p.isEmpty();
+ });
+ auto e = paths.end();
+ if (it != e)
+ paths.erase(it, e);
}
ItemReader::ItemReader(Logger &logger) : m_visitorState(new ItemReaderVisitorState(logger))