Agenda: CMake: Advanced Topics (2024-06-11)

Basics

Optional Code And External Dependencies

Testing, Code Coverage, Code Analysis

Multiplatform (And Cross) Development

Code Generators

  • Problems and limitations ⟶ dependencies in generated code

  • Possibilities

    • Code generation through CMake itself

    • Code generation in the backend build tool

  • Example: generating stubs using Mico (www.mico.org)

  • Exercise

Architectural Considerations

  • Common build configuration: toolchain setting (compiler versions, compiler and linker flags, commandline macros, …)

  • Dependency management

  • Relation with version control

  • (Linux only) Shared library versioning, ABI

  • Packaging and staging (preparing an installable image by installing into a staging area)