Skip to content

Add a generator for IAR Embedded Workbench for Arm project files

Ben Avison requested to merge bavison1/cmake:EWARM into master

Tested (only) against the Raspberry Pi Pico SDK, so the generator is currently configurable only insofar as is necessary to permit SDK-based projects to be generated. Some counterpart updates to that SDK are in review at the time of writing.

Some context: IAR is a proprietary toolchain vendor, although size-limited or time-limited evaluation versions of their tools are also available. The toolchains ship with, and are usually used via, an IDE called Embedded Workbench. This is responsible for launching the individual compilers/asemblers/linkers etc, and handles dependency tracking without the use of any command-line build management tool. The Embedded Workbench workspace and project files are XML-based, but their formats are not publicly documented - I have worked them out by trial and error. This new generator creates appropriate IAR workspace and project files, but does not attempt to manage builds.

IAR describe their Arm toolchain as their most popular product. They do also make toolchains for a collection of other microcontrollers, but I haven't made any effort to figure out how the file formats differ for other target architectures.

I'm a first-time contributor to CMake, so it's quite possible I've misunderstood the exact purpose of some of its internal data structures. Apologies in advance!

Issue: #23964
Topic-rename: iar-embedded-workbench-arm

Edited by Brad King

Merge request reports