diff options
author | Denis Shienkov <denis.shienkov@gmail.com> | 2020-07-02 18:26:13 +0300 |
---|---|---|
committer | Denis Shienkov <denis.shienkov@gmail.com> | 2020-07-02 16:00:51 +0000 |
commit | 826af6214f70ad7c7315148b0f05867a45a55031 (patch) | |
tree | ba6ee74574417f20d4cee6d3380c54afacef1479 /share | |
parent | 80ae31f08f7e6e91aa60fea6a2ef399412d8ddd5 (diff) |
baremetal: Fix cpp.prefixHeaders for KEIL ARM clang toolchain
The 'armclang' compiler does not have the '--preinclude' option,
it has the '-include' option instead.
Change-Id: Idfb537c0cead1152b4444aa152220a173ce30f5e
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Diffstat (limited to 'share')
-rw-r--r-- | share/qbs/modules/cpp/keil.js | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/share/qbs/modules/cpp/keil.js b/share/qbs/modules/cpp/keil.js index 5ef15e57f..2462fd754 100644 --- a/share/qbs/modules/cpp/keil.js +++ b/share/qbs/modules/cpp/keil.js @@ -675,6 +675,8 @@ function compilerFlags(project, product, input, outputs, explicitlyDependsOn) { var tag = ModUtils.fileTagForTargetLanguage(input.fileTags.concat(outputs.obj[0].fileTags)); var args = []; + var prefixHeaders = input.cpp.prefixHeaders; + var allDefines = []; var platformDefines = input.cpp.platformDefines; if (platformDefines) @@ -752,17 +754,16 @@ function compilerFlags(project, product, input, outputs, explicitlyDependsOn) { // Output. args.push("-o", outputs.obj[0].filePath); - var prefixHeaders = input.cpp.prefixHeaders; - for (var i in prefixHeaders) - args.push("--preinclude", prefixHeaders[i]); - - // Defines. - args = args.concat(allDefines.map(function(define) { return '-D' + define })); - // Includes. - args = args.concat(allIncludePaths.map(function(include) { return '-I' + include })); - var compilerPath = input.cpp.compilerPath; if (isArmCCCompiler(compilerPath)) { + for (var i in prefixHeaders) + args.push("--preinclude", prefixHeaders[i]); + + // Defines. + args = args.concat(allDefines.map(function(define) { return '-D' + define })); + // Includes. + args = args.concat(allIncludePaths.map(function(include) { return '-I' + include })); + // Debug information flags. if (input.cpp.debugInformation) { args.push("--debug"); @@ -837,6 +838,14 @@ function compilerFlags(project, product, input, outputs, explicitlyDependsOn) { args.push("--list_dir", FileInfo.path(outputs.lst[0].filePath)); } } else if (isArmClangCompiler(compilerPath)) { + for (var i in prefixHeaders) + args.push("-include", prefixHeaders[i]); + + // Defines. + args = args.concat(allDefines.map(function(define) { return '-D' + define })); + // Includes. + args = args.concat(allIncludePaths.map(function(include) { return '-I' + include })); + // Debug information flags. if (input.cpp.debugInformation) args.push("-g"); |