aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2018-05-09 13:06:00 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2018-05-09 13:06:00 +0000
commit357bbf296d515ff8d2761d32a6d2818484791eca (patch)
tree56aa56a1542780de0493596ffa9cd47fe2c29343
parentcc5ffd701a772fc2deb3461c0028857677a86fce (diff)
parent75e308f6eecf56d59ecec31752077785d2a0a29e (diff)
Merge "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 ff3fc04b5..900fde759 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))