aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2019-05-10 12:27:28 +0300
committerDenis Shienkov <denis.shienkov@gmail.com>2019-05-10 13:20:54 +0000
commitb59edb3e2e67453318f5f2f48c86c3f45e8b1e46 (patch)
tree5f58dbc0a7928632ff4f92063ef16147f9428ed8 /share/qbs/modules
parentdb4a3f1f91a5ddec9c6447e28ced46e6e381ac18 (diff)
bare-metal: Implement cpp.compilerDefinesByLanguage for IAR toolchain
Change-Id: Id18528b1f6f6a98bec3f877e70c660180078a66c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'share/qbs/modules')
-rw-r--r--share/qbs/modules/cpp/iar.js12
-rw-r--r--share/qbs/modules/cpp/iar.qbs3
2 files changed, 9 insertions, 6 deletions
diff --git a/share/qbs/modules/cpp/iar.js b/share/qbs/modules/cpp/iar.js
index 35ed29da3..cf4577c6a 100644
--- a/share/qbs/modules/cpp/iar.js
+++ b/share/qbs/modules/cpp/iar.js
@@ -56,16 +56,18 @@ function guessEndianness(macros)
return "big"
}
-function dumpMacros(compilerFilePath, qbs, nullDevice) {
+function dumpMacros(compilerFilePath, tag) {
var tempDir = new TemporaryDir();
var inFilePath = FileInfo.fromNativeSeparators(tempDir.path() + "/empty-source.c");
var inFile = new TextFile(inFilePath, TextFile.WriteOnly);
var outFilePath = FileInfo.fromNativeSeparators(tempDir.path() + "/iar-macros.predef");
- var p = new Process();
- p.exec(compilerFilePath,
- [ inFilePath, "--predef_macros", outFilePath ],
- true);
+ var args = [ inFilePath, "--predef_macros", outFilePath ];
+ if (tag && tag === "cpp")
+ args.push("--ec++");
+
+ var p = new Process();
+ p.exec(compilerFilePath, args, true);
var outFile = new TextFile(outFilePath, TextFile.ReadOnly);
var map = {};
outFile.readAll().trim().split(/\r?\n/g).map(function (line) {
diff --git a/share/qbs/modules/cpp/iar.qbs b/share/qbs/modules/cpp/iar.qbs
index 3dea255db..05a76c6b5 100644
--- a/share/qbs/modules/cpp/iar.qbs
+++ b/share/qbs/modules/cpp/iar.qbs
@@ -50,6 +50,7 @@ CppModule {
id: iarProbe
condition: !_skipAllChecks
compilerFilePath: compilerPath
+ enableDefinesByLanguage: enableCompilerDefinesByLanguage
}
qbs.architecture: iarProbe.found ? iarProbe.architecture : original
@@ -59,7 +60,7 @@ CppModule {
compilerVersionPatch: iarProbe.versionPatch
endianness: iarProbe.endianness
- compilerDefinesByLanguage: []
+ compilerDefinesByLanguage: iarProbe.compilerDefinesByLanguage
property string toolchainInstallPath: compilerPathProbe.found
? compilerPathProbe.path : undefined