diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2018-05-09 13:06:00 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2018-05-09 13:06:00 +0000 |
commit | 357bbf296d515ff8d2761d32a6d2818484791eca (patch) | |
tree | 56aa56a1542780de0493596ffa9cd47fe2c29343 | |
parent | cc5ffd701a772fc2deb3461c0028857677a86fce (diff) | |
parent | 75e308f6eecf56d59ecec31752077785d2a0a29e (diff) |
Merge "Merge remote-tracking branch 'origin/1.11'"
-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 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)) |