diff options
author | Ivan Komissarov <abbapoh@gmail.com> | 2023-05-11 18:21:08 +0300 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2023-05-12 08:01:53 +0000 |
commit | 9f4254a94eba886de6960351e8ca20e40622b4ee (patch) | |
tree | bd5d69c25b81ee365f4070c77f3a19f4637c7102 | |
parent | 97c7f802ef065b6133fc075d1559ede4952bf872 (diff) | |
download | qbs-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.js | 3 | ||||
-rw-r--r-- | src/lib/corelib/jsextensions/utilitiesextension.cpp | 4 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata/whole-archive/whole-archive.qbs | 1 |
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 { |