Home >
Building Firmware with CMake
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.
