summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Komissarov <abbapoh@gmail.com>2023-05-11 18:21:08 +0300
committerIvan Komissarov <ABBAPOH@gmail.com>2023-05-12 08:01:53 +0000
commit9f4254a94eba886de6960351e8ca20e40622b4ee (patch)
treebd5d69c25b81ee365f4070c77f3a19f4637c7102
parent97c7f802ef065b6133fc075d1559ede4952bf872 (diff)
downloadqbs-9f4254a94eba886de6960351e8ca20e40622b4ee.tar.gz
js_versionCompare: allow build number
It is not clear why it worked before. Task-number: QBS-1733 Change-Id: Ib870f669d9151c91635b7078fae8cb217c9955f3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--share/qbs/modules/cpp/msvc.js3
-rw-r--r--src/lib/corelib/jsextensions/utilitiesextension.cpp4
-rw-r--r--tests/auto/blackbox/testdata/whole-archive/whole-archive.qbs1
3 files changed, 5 insertions, 3 deletions
diff --git a/share/qbs/modules/cpp/msvc.js b/share/qbs/modules/cpp/msvc.js
index 8be4bff24..96e9839a2 100644
--- a/share/qbs/modules/cpp/msvc.js
+++ b/share/qbs/modules/cpp/msvc.js
@@ -371,7 +371,8 @@ function prepareCompiler(project, product, inputs, outputs, input, output, expli
function linkerSupportsWholeArchive(product)
{
- return Utilities.versionCompare(product.cpp.compilerVersion, "19.0.24215.1") >= 0
+ return product.qbs.toolchainType.includes("clang-cl") ||
+ Utilities.versionCompare(product.cpp.compilerVersion, "19.0.24215.1") >= 0
}
function handleDiscardProperty(product, flags) {
diff --git a/src/lib/corelib/jsextensions/utilitiesextension.cpp b/src/lib/corelib/jsextensions/utilitiesextension.cpp
index ea8eb0ddc..e733d618b 100644
--- a/src/lib/corelib/jsextensions/utilitiesextension.cpp
+++ b/src/lib/corelib/jsextensions/utilitiesextension.cpp
@@ -686,8 +686,8 @@ JSValue UtilitiesExtension::js_versionCompare(JSContext *ctx, JSValueConst,
try {
const auto args = getArguments<QString, QString>(ctx, "Utilities.versionCompare",
argc, argv);
- const auto a = Version::fromString(std::get<0>(args));
- const auto b = Version::fromString(std::get<1>(args));
+ const auto a = Version::fromString(std::get<0>(args), true);
+ const auto b = Version::fromString(std::get<1>(args), true);
return JS_NewInt32(ctx, compare(a, b));
} catch (const QString &error) { return throwError(ctx, error); }
}
diff --git a/tests/auto/blackbox/testdata/whole-archive/whole-archive.qbs b/tests/auto/blackbox/testdata/whole-archive/whole-archive.qbs
index ec46938ab..c138e46c0 100644
--- a/tests/auto/blackbox/testdata/whole-archive/whole-archive.qbs
+++ b/tests/auto/blackbox/testdata/whole-archive/whole-archive.qbs
@@ -33,6 +33,7 @@ Project {
property string dummy: product.linkWholeArchive // To force probe re-execution
configure: {
if (!toolchain.includes("msvc")
+ || toolchain.includes("clang-cl")
|| Utilities.versionCompare(compilerVersion, "19.0.24215.1") >= 0) {
console.info("can link whole archives");
} else {