diff options
author | Jake Petroules <jake.petroules@qt.io> | 2016-05-25 10:10:51 -0700 |
---|---|---|
committer | Jake Petroules <jake.petroules@qt.io> | 2016-05-30 20:30:38 +0000 |
commit | 9d28325c404a87757c61b7dba10f54b43c28cd11 (patch) | |
tree | e8a7316525799e33d90eaa2cad0bf2033fa990ec /share/qbs/modules/cpp/CppModule.qbs | |
parent | c885c061f0a062e5a15f08654cb1e6e8c76f5711 (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.qbs | 18 |
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: { |