diff options
author | Denis Shienkov <denis.shienkov@gmail.com> | 2019-05-14 22:02:52 +0300 |
---|---|---|
committer | Denis Shienkov <denis.shienkov@gmail.com> | 2019-05-15 09:41:13 +0000 |
commit | 6d32d72df0879887a1a4cf1b5794550bfb0deeb5 (patch) | |
tree | 1f03b75a86aad406d4d751bbf9e1f6b30f826e64 /share/qbs/imports/qbs/Probes | |
parent | bf56ef80ef3827d98be3bddf5a32477fc8a79647 (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.qbs | 17 |
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); |