aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/cpp/CppModule.qbs
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@qt.io>2016-05-25 10:10:51 -0700
committerJake Petroules <jake.petroules@qt.io>2016-05-30 20:30:38 +0000
commit9d28325c404a87757c61b7dba10f54b43c28cd11 (patch)
treee8a7316525799e33d90eaa2cad0bf2033fa990ec /share/qbs/modules/cpp/CppModule.qbs
parentc885c061f0a062e5a15f08654cb1e6e8c76f5711 (diff)
Print more descriptive "unknown Windows version" warning messages.
Incidentally, this also fixes a bug causing Windows 10 to be treated as Windows 1.0 in the subsystem version. Task-number: QBS-978 Change-Id: I5aa1763ce9d0a9b12aa50e864086cc2ae4ceb3c1 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Diffstat (limited to 'share/qbs/modules/cpp/CppModule.qbs')
-rw-r--r--share/qbs/modules/cpp/CppModule.qbs18
1 files changed, 18 insertions, 0 deletions
diff --git a/share/qbs/modules/cpp/CppModule.qbs b/share/qbs/modules/cpp/CppModule.qbs
index ed13d9f37..45ca8bc26 100644
--- a/share/qbs/modules/cpp/CppModule.qbs
+++ b/share/qbs/modules/cpp/CppModule.qbs
@@ -31,6 +31,7 @@
// base for Cpp modules
import qbs.ModUtils
import qbs.Utilities
+import qbs.WindowsUtils
Module {
condition: false
@@ -338,11 +339,28 @@ Module {
validate: {
var validator = new ModUtils.PropertyValidator("cpp");
+ validator.setRequiredProperty("architecture", architecture,
+ "you might want to re-run 'qbs-setup-toolchains'");
validator.addCustomValidator("architecture", architecture, function (value) {
return !architecture || architecture === Utilities.canonicalArchitecture(architecture);
}, "'" + architecture + "' is invalid. You must use the canonical name '" +
Utilities.canonicalArchitecture(architecture) + "'");
+ if (minimumWindowsVersion) {
+ validator.addVersionValidator("minimumWindowsVersion", minimumWindowsVersion, 2, 2);
+ validator.addCustomValidator("minimumWindowsVersion", minimumWindowsVersion, function (v) {
+ return !v || v === WindowsUtils.canonicalizeVersion(v);
+ }, "'" + minimumWindowsVersion + "' is invalid. Did you mean '" +
+ WindowsUtils.canonicalizeVersion(minimumWindowsVersion) + "'?");
+ }
validator.validate();
+
+ if (!WindowsUtils.isValidWindowsVersion(minimumWindowsVersion)) {
+ console.warn("Unknown Windows version '" + minimumWindowsVersion
+ + "'; expected one of: "
+ + WindowsUtils.knownWindowsVersions().map(function (a) {
+ return '"' + a + '"'; }).join(", ")
+ + ". See https://msdn.microsoft.com/en-us/library/windows/desktop/ms724832.aspx");
+ }
}
setupRunEnvironment: {