diff options
author | Ivan Komissarov <ABBAPOH@gmail.com> | 2019-03-19 22:24:33 +0100 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2019-04-10 07:27:02 +0000 |
commit | 62e07306481373d9d9b6b656d855b204aa6964f3 (patch) | |
tree | dac1f681be32eaba98b117a481a9011500af9b91 /share/qbs/modules/cpp/CppModule.qbs | |
parent | 14324ad4aa9582e07dc687dc63b1b886f2d272e5 (diff) |
Add support for the clang-cl compiler
Task-number: QBS-1316
Change-Id: Ibf9da364610c260ead088a8990a70c7739d53c39
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'share/qbs/modules/cpp/CppModule.qbs')
-rw-r--r-- | share/qbs/modules/cpp/CppModule.qbs | 72 |
1 files changed, 39 insertions, 33 deletions
diff --git a/share/qbs/modules/cpp/CppModule.qbs b/share/qbs/modules/cpp/CppModule.qbs index 01b0f8af9..35a5de4f0 100644 --- a/share/qbs/modules/cpp/CppModule.qbs +++ b/share/qbs/modules/cpp/CppModule.qbs @@ -454,42 +454,48 @@ Module { fileTags: ["hpp"] } - 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) + "'"); - validator.setRequiredProperty("endianness", endianness); - validator.setRequiredProperty("compilerDefinesByLanguage", compilerDefinesByLanguage); - validator.setRequiredProperty("compilerVersion", compilerVersion); - validator.setRequiredProperty("compilerVersionMajor", compilerVersionMajor); - validator.setRequiredProperty("compilerVersionMinor", compilerVersionMinor); - validator.setRequiredProperty("compilerVersionPatch", compilerVersionPatch); - validator.addVersionValidator("compilerVersion", compilerVersion, 3, 3); - validator.addRangeValidator("compilerVersionMajor", compilerVersionMajor, 1); - validator.addRangeValidator("compilerVersionMinor", compilerVersionMinor, 0); - validator.addRangeValidator("compilerVersionPatch", compilerVersionPatch, 0); - 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 (minimumWindowsVersion && !WindowsUtils.isValidWindowsVersion(minimumWindowsVersion)) { - console.warn("Unknown Windows version '" + minimumWindowsVersion - + "'; expected one of: " - + WindowsUtils.knownWindowsVersions().map(function (a) { - return '"' + a + '"'; }).join(", ") - + ". See https://docs.microsoft.com/en-us/windows/desktop/SysInfo/operating-system-version"); + property var validateFunc: { + return function() { + 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) + "'"); + validator.setRequiredProperty("endianness", endianness); + validator.setRequiredProperty("compilerDefinesByLanguage", compilerDefinesByLanguage); + validator.setRequiredProperty("compilerVersion", compilerVersion); + validator.setRequiredProperty("compilerVersionMajor", compilerVersionMajor); + validator.setRequiredProperty("compilerVersionMinor", compilerVersionMinor); + validator.setRequiredProperty("compilerVersionPatch", compilerVersionPatch); + validator.addVersionValidator("compilerVersion", compilerVersion, 3, 3); + validator.addRangeValidator("compilerVersionMajor", compilerVersionMajor, 1); + validator.addRangeValidator("compilerVersionMinor", compilerVersionMinor, 0); + validator.addRangeValidator("compilerVersionPatch", compilerVersionPatch, 0); + 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 (minimumWindowsVersion && !WindowsUtils.isValidWindowsVersion(minimumWindowsVersion)) { + console.warn("Unknown Windows version '" + minimumWindowsVersion + + "'; expected one of: " + + WindowsUtils.knownWindowsVersions().map(function (a) { + return '"' + a + '"'; }).join(", ") + + ". See https://docs.microsoft.com/en-us/windows/desktop/SysInfo/operating-system-version"); + } } } + validate: { + return validateFunc(); + } + setupRunEnvironment: { SetupRunEnv.setupRunEnvironment(product, config); } |