From c64f40821e97bd463e7e518f6febffe200e20978 Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Sat, 29 May 2021 19:00:11 +0200 Subject: Bump version to 1.19.1 Change-Id: Ifbedbe16b2efb085c969896b9bae4ed39ff3144a Reviewed-by: Denis Shienkov --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 815d5ca06..66e2ae6c2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.19.0 +1.19.1 -- cgit v1.2.3 From 0ff1cfe032b87b0f2032731c9da35db6a345883f Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Sat, 29 May 2021 15:03:06 +0200 Subject: Use qbs.hostOS instead of qbs.targetOS in qml.js ... to check for the dreaded Windows limit for maximum command line length. Amends bf0a3750e0845eeba3814a4f16c20d112181e280. Task-number: QBS-1633 Change-Id: I3735d4f327d440a261666f5722a5715b9a31b320 Reviewed-by: Christian Kandeler --- share/qbs/module-providers/Qt/templates/qml.js | 4 ++-- share/qbs/module-providers/Qt/templates/qml.qbs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/share/qbs/module-providers/Qt/templates/qml.js b/share/qbs/module-providers/Qt/templates/qml.js index e48c9230e..ea8293f2d 100644 --- a/share/qbs/module-providers/Qt/templates/qml.js +++ b/share/qbs/module-providers/Qt/templates/qml.js @@ -3,12 +3,12 @@ var FileInfo = require("qbs.FileInfo"); var Process = require("qbs.Process"); var TextFile = require("qbs.TextFile"); -function scannerData(scannerFilePath, qmlFiles, qmlPath, targetOS) +function scannerData(scannerFilePath, qmlFiles, qmlPath, hostOS) { var p; try { p = new Process(); - if (!targetOS.contains("windows")) { + if (!hostOS.contains("windows")) { p.exec(scannerFilePath, ["-qmlFiles"].concat(qmlFiles).concat(["-importPath", qmlPath]), true); return JSON.parse(p.readStdOut()); diff --git a/share/qbs/module-providers/Qt/templates/qml.qbs b/share/qbs/module-providers/Qt/templates/qml.qbs index af7b0fb5f..104e6848f 100644 --- a/share/qbs/module-providers/Qt/templates/qml.qbs +++ b/share/qbs/module-providers/Qt/templates/qml.qbs @@ -144,7 +144,7 @@ QtModule { qmlInputs = []; var scannerData = Qml.scannerData(product.Qt.qml.qmlImportScannerFilePath, qmlInputs.map(function(inp) { return inp.filePath; }), - product.Qt.qml.qmlPath, product.qbs.targetOS); + product.Qt.qml.qmlPath, product.qbs.hostOS); var cppFile; var listFile; try { -- cgit v1.2.3 From ae63b558af0f541d83f69195e730d3007f28e9c4 Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Sat, 29 May 2021 04:13:52 +0200 Subject: darwin: do not strip debug symbols when dsyms are built-in We do not need to strip debugging symbols (strip -S) when compiling with 'cpp.separateDebugInformation: false' on Darwin platforms. At least, gcc does not do that when building non-aggregated products, it only strips symbols when separate debug info is enabled. Also, stip symbols from all primary outputs (aka build variants), not only from the first one (which happens to be "release". This seems to be correct since we separate debug info from all build variants Fixes: QBS-1647 Change-Id: I7a0c0883c6b7f74fa4a2c7d4b7bdadc9ee23923a Reviewed-by: Christian Kandeler --- share/qbs/modules/cpp/darwin.js | 12 +++++++----- share/qbs/modules/cpp/gcc.js | 1 + 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/share/qbs/modules/cpp/darwin.js b/share/qbs/modules/cpp/darwin.js index 7f7e9a05d..98497a050 100644 --- a/share/qbs/modules/cpp/darwin.js +++ b/share/qbs/modules/cpp/darwin.js @@ -179,17 +179,19 @@ function prepareLipo(project, product, inputs, outputs, input, output) { if (outputs.debuginfo_bundle && outputs.debuginfo_bundle[0]) dsymPath = outputs.debuginfo_bundle[0].filePath; var flags = ModUtils.moduleProperty(product, "dsymutilFlags") || []; + var files = outputs.primary.map(function (f) { return f.filePath; }); cmd = new Command(ModUtils.moduleProperty(product, "dsymutilPath"), flags.concat([ "-o", dsymPath - ]).concat(outputs.primary.map(function (f) { return f.filePath; }))); + ]).concat(files)); cmd.description = "generating dSYM for " + product.name; commands.push(cmd); + + // strip debug info + cmd = new Command(ModUtils.moduleProperty(product, "stripPath"), ["-S"].concat(files)); + cmd.silent = true; + commands.push(cmd); } - cmd = new Command(ModUtils.moduleProperty(product, "stripPath"), - ["-S", outputs.primary[0].filePath]); - cmd.silent = true; - commands.push(cmd); if (outputs.dynamiclibrary_symbols) Array.prototype.push.apply(commands, Gcc.createSymbolCheckingCommands(product, outputs)); diff --git a/share/qbs/modules/cpp/gcc.js b/share/qbs/modules/cpp/gcc.js index 775c06a31..aecb69a57 100644 --- a/share/qbs/modules/cpp/gcc.js +++ b/share/qbs/modules/cpp/gcc.js @@ -1344,6 +1344,7 @@ function prepareLinker(project, product, inputs, outputs, input, output) { cmd.description = "generating dSYM for " + product.name; commands.push(cmd); + // strip debug info cmd = new Command(product.cpp.stripPath, ["-S", primaryOutput.filePath]); cmd.silent = true; -- cgit v1.2.3 From f5a13789ee53426f64ccb254a464949cf6276f01 Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Mon, 31 May 2021 20:49:11 +0300 Subject: msvc: fix system include support with MSVC >= 19.29.30037 Otherwise, compiler fails with "ERROR: cl : Command line warning D9007 : '/external:I' requires '/external:W'; option ignored" Change-Id: I45b01175e5d868370368d31dafa19d0d455f267c Reviewed-by: Christian Kandeler --- share/qbs/modules/cpp/msvc.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/share/qbs/modules/cpp/msvc.js b/share/qbs/modules/cpp/msvc.js index 9f3d20282..b22ebdbd0 100644 --- a/share/qbs/modules/cpp/msvc.js +++ b/share/qbs/modules/cpp/msvc.js @@ -217,6 +217,10 @@ function prepareCompiler(project, product, inputs, outputs, input, output, expli var includeFlag = "/I"; if (supportsExternalIncludesOption(input)) { args.push("/experimental:external"); + var enforcesSlashW = + Utilities.versionCompare(input.cpp.compilerVersion, "19.29.30037") >= 0 + if (enforcesSlashW) + args.push("/external:W0") includeFlag = "/external:I" } allSystemIncludePaths.forEach(function(path) { -- cgit v1.2.3