summaryrefslogtreecommitdiff
path: root/qbs
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2022-02-22 14:06:18 +0100
committerEike Ziller <eike.ziller@qt.io>2022-02-22 14:06:41 +0100
commit8259df00d094b2896f59d2a60a73e95e0d96c554 (patch)
treeb2132aaef3a37fa2746a93bfdcc0b6b41cf946a1 /qbs
parenta8e44df68143bfd43e5c9b52a8d3a0a703caaffd (diff)
parent08668e71da740b2bc8feb0138730fc95127fbc76 (diff)
downloadqt-creator-8259df00d094b2896f59d2a60a73e95e0d96c554.tar.gz
Merge remote-tracking branch 'origin/7.0'
Conflicts: src/plugins/mcusupport/mcupackage.cpp src/plugins/mcusupport/mcusupportoptions.cpp src/plugins/mcusupport/mcusupportoptions.h src/plugins/mcusupport/mcusupportoptionspage.cpp src/plugins/mcusupport/mcusupportplugin.cpp src/plugins/mcusupport/mcusupportsdk.cpp Change-Id: Ib423e9f23877176f01b188104b0a179ed32c4770
Diffstat (limited to 'qbs')
-rw-r--r--qbs/imports/QtcProduct.qbs2
-rw-r--r--qbs/modules/qtc_gtest_gmock/qtc_gtest_gmock.qbs65
2 files changed, 66 insertions, 1 deletions
diff --git a/qbs/imports/QtcProduct.qbs b/qbs/imports/QtcProduct.qbs
index 85b334daf0..ee84b46aa3 100644
--- a/qbs/imports/QtcProduct.qbs
+++ b/qbs/imports/QtcProduct.qbs
@@ -50,7 +50,7 @@ Product {
flags.push("-Wno-deprecated-copy", "-Wno-constant-logical-operand");
}
if (!qbs.toolchain.contains("clang")) {
- flags.push("-Wno-noexcept-type");
+ flags.push("-Wno-missing-field-initializers", "-Wno-noexcept-type");
if (Utilities.versionCompare(cpp.compilerVersion, "9") >= 0)
flags.push("-Wno-deprecated-copy", "-Wno-init-list-lifetime");
}
diff --git a/qbs/modules/qtc_gtest_gmock/qtc_gtest_gmock.qbs b/qbs/modules/qtc_gtest_gmock/qtc_gtest_gmock.qbs
new file mode 100644
index 0000000000..5229db1440
--- /dev/null
+++ b/qbs/modules/qtc_gtest_gmock/qtc_gtest_gmock.qbs
@@ -0,0 +1,65 @@
+import qbs
+import qbs.File
+import qbs.FileInfo
+
+Module {
+ property bool preferExternalLibs: true
+
+ Depends { name: "pkgconfig"; condition: preferExternalLibs; required: false }
+ Depends { name: "gtest"; condition: preferExternalLibs; required: false }
+ Depends { name: "gmock"; condition: preferExternalLibs; required: false }
+ Depends { name: "cpp" }
+
+ Probe {
+ id: gtestProbe
+
+ property string repoDir
+ property string gtestDir
+ property string gmockDir
+ property bool hasRepo
+
+ configure: {
+ repoDir = FileInfo.cleanPath(path + "/../../../tests/unit/unittest/3rdparty/googletest");
+ gtestDir = FileInfo.joinPaths(repoDir, "googletest");
+ gmockDir = FileInfo.joinPaths(repoDir, "googlemock");
+ hasRepo = File.exists(gtestDir);
+ found = hasRepo;
+ }
+ }
+
+ property bool hasRepo: gtestProbe.hasRepo
+ property bool externalLibsPresent: preferExternalLibs && gtest.present && gmock.present
+ property bool useRepo: !externalLibsPresent && hasRepo
+ property string gtestDir: gtestProbe.gtestDir
+ property string gmockDir: gtestProbe.gmockDir
+
+ Group {
+ name: "Files from repository"
+ condition: qtc_gtest_gmock.useRepo
+ cpp.includePaths: [
+ qtc_gtest_gmock.gtestDir,
+ qtc_gtest_gmock.gmockDir,
+ FileInfo.joinPaths(qtc_gtest_gmock.gtestDir, "include"),
+ FileInfo.joinPaths(qtc_gtest_gmock.gmockDir, "include"),
+ ]
+ files: [
+ FileInfo.joinPaths(qtc_gtest_gmock.gtestDir, "src", "gtest-all.cc"),
+ FileInfo.joinPaths(qtc_gtest_gmock.gmockDir, "src", "gmock-all.cc"),
+ ]
+ }
+
+ Properties {
+ condition: qtc_gtest_gmock.useRepo
+ cpp.includePaths: [
+ FileInfo.joinPaths(qtc_gtest_gmock.gtestDir, "include"),
+ FileInfo.joinPaths(qtc_gtest_gmock.gmockDir, "include"),
+ ]
+ }
+
+ validate: {
+ if (!qtc_gtest_gmock.externalLibsPresent && !gtestProbe.found) {
+ console.warn("No GTest found.");
+ throw new Error();
+ }
+ }
+}