Build and configuration system

The Bridle build and configuration system is based on the one from the Zephyr Project, with some additions.

Zephyr’s build and configuration system

Zephyr’s build and configuration system uses the following building blocks as a foundation:

  • CMake, the cross-platform build system generator.

  • Kconfig, a powerful configuration system also used in the Linux kernel.

  • Devicetree, a hardware description language that is used to describe the hardware that Bridle is to run on.

Since the build and configuration system used by Bridle comes from the Zephyr Project, references to the original Zephyr Project documentation are provided here in order to avoid duplication. See the following links for information about the different building blocks mentioned above:

Bridle additions

Bridle adds some functionality on top of the Zephyr Project build and configuration system. Those additions are automatically included into the Zephyr Project build system using a Zephyr Build Configuration CMake packages.

You must be aware of these additions when you start writing your own Bridle applications.

  • Bridle provides an additional set of *.cmake module files that are automatically included when using the Zephyr Project CMake package in the CMakeLists.txt file of your application:

    find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
    

    Also it is possible and the default use case to using the Bridle CMake package (that automatically includes the Zephyr Project) in the CMakeLists.txt file of your application:

    find_package(Bridle REQUIRED HINTS $ENV{BRIDLE_BASE})
    
  • Bridle allows you to create custom build type files instead of using a single prj.conf file.