aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2021-08-20 14:21:23 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2021-08-20 14:21:23 +0200
commit321e4243c443c38239a50921a9faf4aa0d122bac (patch)
tree1618ad7beea92a0bff1106bac32fa7c1b0ba9f18 /share
parent4d85d558597f9405b9c9d20446156cd63d5b09c2 (diff)
parent1d0a0a9c2af318c8e3e7bd4be444854ab8f4ae34 (diff)
Merge 1.20 into master
Diffstat (limited to 'share')
-rw-r--r--share/qbs/module-providers/Qt/setup-qt.js1
-rw-r--r--share/qbs/module-providers/__fallback/fallback.qbs1
-rw-r--r--share/qbs/modules/Exporter/qbs/qbsexporter.qbs1
-rw-r--r--share/qbs/modules/capnproto/capnprotobase.qbs1
-rw-r--r--share/qbs/modules/codesign/CodeSignModule.qbs1
-rw-r--r--share/qbs/modules/codesign/android.qbs1
-rw-r--r--share/qbs/modules/codesign/apple.qbs1
-rw-r--r--share/qbs/modules/codesign/noop.qbs2
-rw-r--r--share/qbs/modules/codesign/signtool.qbs1
-rw-r--r--share/qbs/modules/cpp/cosmic.qbs1
-rw-r--r--share/qbs/modules/cpp/iar.qbs1
-rw-r--r--share/qbs/modules/cpp/keil.qbs1
-rw-r--r--share/qbs/modules/cpp/msvc.js18
-rw-r--r--share/qbs/modules/cpp/sdcc.qbs1
-rw-r--r--share/qbs/modules/cpp/windows-clang-cl.qbs1
-rw-r--r--share/qbs/modules/cpp/windows-msvc-base.qbs1
-rw-r--r--share/qbs/modules/cpp/windows-msvc.qbs2
-rw-r--r--share/qbs/modules/freedesktop/FreeDesktop.qbs1
-rw-r--r--share/qbs/modules/pkgconfig/pkgconfig.qbs1
-rw-r--r--share/qbs/modules/protobuf/cpp/protobufcpp.qbs1
-rw-r--r--share/qbs/modules/protobuf/nanopb/nanopb.qbs1
-rw-r--r--share/qbs/modules/protobuf/objc/protobufobjc.qbs1
-rw-r--r--share/qbs/modules/protobuf/protobufbase.qbs1
-rw-r--r--share/share.qbs1
24 files changed, 21 insertions, 22 deletions
diff --git a/share/qbs/module-providers/Qt/setup-qt.js b/share/qbs/module-providers/Qt/setup-qt.js
index 060ea7a0a..b1239a78a 100644
--- a/share/qbs/module-providers/Qt/setup-qt.js
+++ b/share/qbs/module-providers/Qt/setup-qt.js
@@ -753,6 +753,7 @@ function doSetupLibraries(modInfo, qtProps, debugBuild, nonExistingPrlFiles, and
for (i = 0; i < parts.length; ++i) {
var part = parts[i];
part = part.replace("$$[QT_INSTALL_LIBS]", qtProps.libraryPath);
+ part = part.replace("$$[QT_INSTALL_PREFIX]", qtProps.installPrefixPath);
if (part.startsWith("-l")) {
libs.push(part.slice(2));
} else if (part.startsWith("-L")) {
diff --git a/share/qbs/module-providers/__fallback/fallback.qbs b/share/qbs/module-providers/__fallback/fallback.qbs
index 632d1aa7a..52a3f080a 100644
--- a/share/qbs/module-providers/__fallback/fallback.qbs
+++ b/share/qbs/module-providers/__fallback/fallback.qbs
@@ -37,7 +37,6 @@
**
****************************************************************************/
-import qbs
import qbs.FileInfo
import qbs.Probes
diff --git a/share/qbs/modules/Exporter/qbs/qbsexporter.qbs b/share/qbs/modules/Exporter/qbs/qbsexporter.qbs
index 861483ef0..b08639e38 100644
--- a/share/qbs/modules/Exporter/qbs/qbsexporter.qbs
+++ b/share/qbs/modules/Exporter/qbs/qbsexporter.qbs
@@ -62,7 +62,6 @@ Module {
cmd.description = "Creating " + output.fileName;
cmd.sourceCode = function() {
var f = new TextFile(output.filePath, TextFile.WriteOnly);
- f.writeLine("import qbs");
HelperFunctions.writeImportStatements(product, f);
f.writeLine("\nModule {");
HelperFunctions.writeModuleProperties(project, product, output, f);
diff --git a/share/qbs/modules/capnproto/capnprotobase.qbs b/share/qbs/modules/capnproto/capnprotobase.qbs
index 2dcb6c7e2..e84d39433 100644
--- a/share/qbs/modules/capnproto/capnprotobase.qbs
+++ b/share/qbs/modules/capnproto/capnprotobase.qbs
@@ -28,7 +28,6 @@
**
****************************************************************************/
-import qbs
import qbs.Probes
import "capnproto.js" as HelperFunctions
diff --git a/share/qbs/modules/codesign/CodeSignModule.qbs b/share/qbs/modules/codesign/CodeSignModule.qbs
index 2115baebf..6db35c85c 100644
--- a/share/qbs/modules/codesign/CodeSignModule.qbs
+++ b/share/qbs/modules/codesign/CodeSignModule.qbs
@@ -29,7 +29,6 @@
**
****************************************************************************/
-import qbs
import qbs.File
import qbs.FileInfo
import "codesign.js" as CodeSign
diff --git a/share/qbs/modules/codesign/android.qbs b/share/qbs/modules/codesign/android.qbs
index be96d42de..f4535aa9c 100644
--- a/share/qbs/modules/codesign/android.qbs
+++ b/share/qbs/modules/codesign/android.qbs
@@ -28,7 +28,6 @@
**
****************************************************************************/
-import qbs
import qbs.Environment
import qbs.File
import qbs.FileInfo
diff --git a/share/qbs/modules/codesign/apple.qbs b/share/qbs/modules/codesign/apple.qbs
index 565d29080..4340e3037 100644
--- a/share/qbs/modules/codesign/apple.qbs
+++ b/share/qbs/modules/codesign/apple.qbs
@@ -29,7 +29,6 @@
**
****************************************************************************/
-import qbs
import qbs.BundleTools
import qbs.DarwinTools
import qbs.Environment
diff --git a/share/qbs/modules/codesign/noop.qbs b/share/qbs/modules/codesign/noop.qbs
index 3234d7476..d8c75eabc 100644
--- a/share/qbs/modules/codesign/noop.qbs
+++ b/share/qbs/modules/codesign/noop.qbs
@@ -29,8 +29,6 @@
**
****************************************************************************/
-import qbs
-
CodeSignModule {
condition: true
priority: -100
diff --git a/share/qbs/modules/codesign/signtool.qbs b/share/qbs/modules/codesign/signtool.qbs
index d0dda3a31..afc91e7fc 100644
--- a/share/qbs/modules/codesign/signtool.qbs
+++ b/share/qbs/modules/codesign/signtool.qbs
@@ -28,7 +28,6 @@
**
****************************************************************************/
-import qbs
import qbs.File
import qbs.ModUtils
import qbs.Probes
diff --git a/share/qbs/modules/cpp/cosmic.qbs b/share/qbs/modules/cpp/cosmic.qbs
index acc744a5b..64248cd8f 100644
--- a/share/qbs/modules/cpp/cosmic.qbs
+++ b/share/qbs/modules/cpp/cosmic.qbs
@@ -28,7 +28,6 @@
**
****************************************************************************/
-import qbs 1.0
import qbs.File
import qbs.FileInfo
import qbs.PathTools
diff --git a/share/qbs/modules/cpp/iar.qbs b/share/qbs/modules/cpp/iar.qbs
index 79d4a0720..f02c033ce 100644
--- a/share/qbs/modules/cpp/iar.qbs
+++ b/share/qbs/modules/cpp/iar.qbs
@@ -28,7 +28,6 @@
**
****************************************************************************/
-import qbs 1.0
import qbs.File
import qbs.FileInfo
import qbs.PathTools
diff --git a/share/qbs/modules/cpp/keil.qbs b/share/qbs/modules/cpp/keil.qbs
index 8e4d98402..c66e95a47 100644
--- a/share/qbs/modules/cpp/keil.qbs
+++ b/share/qbs/modules/cpp/keil.qbs
@@ -28,7 +28,6 @@
**
****************************************************************************/
-import qbs 1.0
import qbs.File
import qbs.FileInfo
import qbs.Probes
diff --git a/share/qbs/modules/cpp/msvc.js b/share/qbs/modules/cpp/msvc.js
index 1ebe5173b..630272d37 100644
--- a/share/qbs/modules/cpp/msvc.js
+++ b/share/qbs/modules/cpp/msvc.js
@@ -83,6 +83,19 @@ function hasCxx17Option(input)
|| (input.qbs.toolchain.contains("clang-cl") && input.cpp.compilerVersionMajor >= 7);
}
+function hasZCplusPlusOption(input)
+{
+ // /Zc:__cplusplus is supported starting from Visual Studio 15.7
+ // Looks like closest MSVC version is 14.14.26428 (cl ver 19.14.26433)
+ // At least, this version is tested
+ // https://docs.microsoft.com/en-us/cpp/build/reference/zc-cplusplus
+ // clang-cl supports this option starting around-ish versions 8/9, but it
+ // ignores this option, so this doesn't really matter
+ // https://reviews.llvm.org/D45877
+ return Utilities.versionCompare(input.cpp.compilerVersion, "19.14.26433") >= 0
+ || (input.qbs.toolchain.contains("clang-cl") && input.cpp.compilerVersionMajor >= 9);
+}
+
function supportsExternalIncludesOption(input) {
if (input.qbs.toolchain.contains("clang-cl"))
return false; // Exclude clang-cl.
@@ -95,7 +108,7 @@ function supportsExternalIncludesOption(input) {
function addLanguageVersionFlag(input, args) {
var cxxVersion = Cpp.languageVersion(input.cpp.cxxLanguageVersion,
- ["c++17", "c++14", "c++11", "c++98"], "C++");
+ ["c++20", "c++17", "c++14", "c++11", "c++98"], "C++");
if (!cxxVersion)
return;
@@ -240,6 +253,9 @@ function prepareCompiler(project, product, inputs, outputs, input, output, expli
if (input.cpp.generateCompilerListingFiles)
args.push("/Fa" + FileInfo.toWindowsSeparators(outputs.lst[0].filePath));
+ if (input.cpp.enableCxxLanguageMacro && hasZCplusPlusOption(input))
+ args.push("/Zc:__cplusplus");
+
var objectMap = outputs.obj || outputs.intermediate_obj
var objOutput = objectMap ? objectMap[0] : undefined
args.push('/Fo' + FileInfo.toWindowsSeparators(objOutput.filePath))
diff --git a/share/qbs/modules/cpp/sdcc.qbs b/share/qbs/modules/cpp/sdcc.qbs
index 0f33e9f02..4e6f05bc0 100644
--- a/share/qbs/modules/cpp/sdcc.qbs
+++ b/share/qbs/modules/cpp/sdcc.qbs
@@ -28,7 +28,6 @@
**
****************************************************************************/
-import qbs 1.0
import qbs.File
import qbs.FileInfo
import qbs.Probes
diff --git a/share/qbs/modules/cpp/windows-clang-cl.qbs b/share/qbs/modules/cpp/windows-clang-cl.qbs
index 556efb042..e1f4ee425 100644
--- a/share/qbs/modules/cpp/windows-clang-cl.qbs
+++ b/share/qbs/modules/cpp/windows-clang-cl.qbs
@@ -28,7 +28,6 @@
**
****************************************************************************/
-import qbs
import qbs.ModUtils
import qbs.Probes
import qbs.FileInfo
diff --git a/share/qbs/modules/cpp/windows-msvc-base.qbs b/share/qbs/modules/cpp/windows-msvc-base.qbs
index 4efd20668..3d4975dda 100644
--- a/share/qbs/modules/cpp/windows-msvc-base.qbs
+++ b/share/qbs/modules/cpp/windows-msvc-base.qbs
@@ -104,6 +104,7 @@ CppModule {
property var buildEnv
readonly property bool shouldSignArtifacts: codesign.enableCodeSigning
+ property bool enableCxxLanguageMacro: false
setupBuildEnvironment: {
for (var key in product.cpp.buildEnv) {
diff --git a/share/qbs/modules/cpp/windows-msvc.qbs b/share/qbs/modules/cpp/windows-msvc.qbs
index 33c5e74c8..5e41c76fa 100644
--- a/share/qbs/modules/cpp/windows-msvc.qbs
+++ b/share/qbs/modules/cpp/windows-msvc.qbs
@@ -65,4 +65,6 @@ MsvcBaseModule {
toolchainInstallPath: compilerPathProbe.found ? compilerPathProbe.path
: undefined
buildEnv: msvcProbe.buildEnv
+
+ enableCxxLanguageMacro: true
}
diff --git a/share/qbs/modules/freedesktop/FreeDesktop.qbs b/share/qbs/modules/freedesktop/FreeDesktop.qbs
index bb2ba79f4..5ff56a9a4 100644
--- a/share/qbs/modules/freedesktop/FreeDesktop.qbs
+++ b/share/qbs/modules/freedesktop/FreeDesktop.qbs
@@ -28,7 +28,6 @@
**
****************************************************************************/
-import qbs
import qbs.ModUtils
import qbs.TextFile
import "freedesktop.js" as Fdo
diff --git a/share/qbs/modules/pkgconfig/pkgconfig.qbs b/share/qbs/modules/pkgconfig/pkgconfig.qbs
index ec4b59188..b436263e9 100644
--- a/share/qbs/modules/pkgconfig/pkgconfig.qbs
+++ b/share/qbs/modules/pkgconfig/pkgconfig.qbs
@@ -37,7 +37,6 @@
**
****************************************************************************/
-import qbs
import qbs.File
import qbs.Probes
diff --git a/share/qbs/modules/protobuf/cpp/protobufcpp.qbs b/share/qbs/modules/protobuf/cpp/protobufcpp.qbs
index 36b92dd30..e1459658d 100644
--- a/share/qbs/modules/protobuf/cpp/protobufcpp.qbs
+++ b/share/qbs/modules/protobuf/cpp/protobufcpp.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
import qbs.FileInfo
import qbs.Probes
diff --git a/share/qbs/modules/protobuf/nanopb/nanopb.qbs b/share/qbs/modules/protobuf/nanopb/nanopb.qbs
index 86cd93600..898e230b6 100644
--- a/share/qbs/modules/protobuf/nanopb/nanopb.qbs
+++ b/share/qbs/modules/protobuf/nanopb/nanopb.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
import qbs.FileInfo
import qbs.Probes
diff --git a/share/qbs/modules/protobuf/objc/protobufobjc.qbs b/share/qbs/modules/protobuf/objc/protobufobjc.qbs
index 4bb697bc4..a3e708898 100644
--- a/share/qbs/modules/protobuf/objc/protobufobjc.qbs
+++ b/share/qbs/modules/protobuf/objc/protobufobjc.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
import qbs.FileInfo
import qbs.Probes
diff --git a/share/qbs/modules/protobuf/protobufbase.qbs b/share/qbs/modules/protobuf/protobufbase.qbs
index 30c1d244a..e302d3758 100644
--- a/share/qbs/modules/protobuf/protobufbase.qbs
+++ b/share/qbs/modules/protobuf/protobufbase.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
import qbs.FileInfo
import qbs.Probes
diff --git a/share/share.qbs b/share/share.qbs
index 9349d5c8b..b02e971f6 100644
--- a/share/share.qbs
+++ b/share/share.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
import qbs.FileInfo
import qbs.TextFile