Home >

Building Firmware with CMake

Amar Mahmutbegovic - EOC 2026

Building Firmware with CMake
Amar Mahmutbegovic

Embedded firmware projects are becoming increasingly complex. As firmware complexity increases, so does the build process: managing SDK versions, code generators, third-party libraries, and supporting builds for different product variations.

CMake is becoming a widely used tool for managing firmware builds. It offers declarative syntax for defining builds and provides tools to manage dependencies, call external processes such as code generators, and more. It also has strong support in modern IDEs such as VSCode.

The talk will help firmware developers to learn the basics of CMake by going through an example for an actual microcontroller, and will cover the following topics:

  • CMake basics:
    • Select source and include files, compile options, and linker settings,
    • Define a toolchain file for a microcontroller target.
  • Create a static library with CMake and use it in a project,
  • Manage dependencies with CMake - download and use dependencies from a remote URL,
  • Execute external processes with CMake,
  • Manage build options with CMake presets.
M↓ MARKDOWN HELP
italicssurround text with
*asterisks*
boldsurround text with
**two asterisks**
hyperlink
[hyperlink](https://example.com)
or just a bare URL
code
surround text with
`backticks`
strikethroughsurround text with
~~two tilde characters~~
quote
prefix with
>

No comments or questions yet. Will you be the one who will break the ice?

OUR SPONSORS & PARTNERS