diff options
author | Denis Shienkov <denis.shienkov@gmail.com> | 2019-05-10 12:27:28 +0300 |
---|---|---|
committer | Denis Shienkov <denis.shienkov@gmail.com> | 2019-05-10 13:20:54 +0000 |
commit | b59edb3e2e67453318f5f2f48c86c3f45e8b1e46 (patch) | |
tree | 5f58dbc0a7928632ff4f92063ef16147f9428ed8 /share/qbs/modules/cpp | |
parent | db4a3f1f91a5ddec9c6447e28ced46e6e381ac18 (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/cpp')
-rw-r--r-- | share/qbs/modules/cpp/iar.js | 12 | ||||
-rw-r--r-- | share/qbs/modules/cpp/iar.qbs | 3 |
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 |