diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2018-05-09 13:52:33 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2018-05-09 13:52:33 +0200 |
commit | 75e308f6eecf56d59ecec31752077785d2a0a29e (patch) | |
tree | 39e946d1160e81afd8da0aa8f8f383d495a38232 | |
parent | 15751999bbfa66015f48bbdde2fea2d4e8fed61a (diff) | |
parent | c4e4bb9604a884ca5966ebab19e510a1966f798a (diff) |
Merge remote-tracking branch 'origin/1.11'
Change-Id: I407596d75413e43aa61e7d1fe8591f4a0f388340
-rw-r--r-- | share/qbs/modules/cpp/setuprunenv.js | 6 | ||||
-rw-r--r-- | src/lib/corelib/corelib.qbs | 2 | ||||
-rw-r--r-- | src/lib/corelib/language/itemreader.cpp | 9 |
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)) |