aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/cpp/CppModule.qbs
diff options
context:
space:
mode:
authorIvan Komissarov <ABBAPOH@gmail.com>2019-03-19 22:24:33 +0100
committerIvan Komissarov <ABBAPOH@gmail.com>2019-04-10 07:27:02 +0000
commit62e07306481373d9d9b6b656d855b204aa6964f3 (patch)
treedac1f681be32eaba98b117a481a9011500af9b91 /share/qbs/modules/cpp/CppModule.qbs
parent14324ad4aa9582e07dc687dc63b1b886f2d272e5 (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.qbs72
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);
}