aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/imports/qbs/Probes
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2019-05-14 22:02:52 +0300
committerDenis Shienkov <denis.shienkov@gmail.com>2019-05-15 09:41:13 +0000
commit6d32d72df0879887a1a4cf1b5794550bfb0deeb5 (patch)
tree1f03b75a86aad406d4d751bbf9e1f6b30f826e64 /share/qbs/imports/qbs/Probes
parentbf56ef80ef3827d98be3bddf5a32477fc8a79647 (diff)
bare-metal: Implement cpp.compilerDefinesByLanguage for KEIL toolchain
Change-Id: Id689c4e0290ba83e8755b6787601338a01af07c9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'share/qbs/imports/qbs/Probes')
-rw-r--r--share/qbs/imports/qbs/Probes/KeilProbe.qbs17
1 files changed, 16 insertions, 1 deletions
diff --git a/share/qbs/imports/qbs/Probes/KeilProbe.qbs b/share/qbs/imports/qbs/Probes/KeilProbe.qbs
index 70712ab61..9862a682a 100644
--- a/share/qbs/imports/qbs/Probes/KeilProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/KeilProbe.qbs
@@ -34,6 +34,7 @@ import "../../../modules/cpp/keil.js" as KEIL
PathProbe {
// Inputs
property string compilerFilePath;
+ property stringList enableDefinesByLanguage;
property string _nullDevice: qbs.nullDevice
@@ -43,14 +44,28 @@ PathProbe {
property int versionMajor;
property int versionMinor;
property int versionPatch;
+ property var compilerDefinesByLanguage;
configure: {
+ compilerDefinesByLanguage = {};
+
if (!File.exists(compilerFilePath)) {
found = false;
return;
}
- var macros = KEIL.dumpMacros(compilerFilePath, qbs, _nullDevice);
+ var languages = enableDefinesByLanguage;
+ if (!languages || languages.length === 0)
+ languages = ["c"];
+
+ for (var i = 0; i < languages.length; ++i) {
+ var tag = languages[i];
+ compilerDefinesByLanguage[tag] = KEIL.dumpMacros(
+ compilerFilePath, tag, _nullDevice);
+ }
+
+ var macros = compilerDefinesByLanguage["c"]
+ || compilerDefinesByLanguage["cpp"];
architecture = KEIL.guessArchitecture(macros);
endianness = KEIL.guessEndianness(macros);