2. Building the Application

Note

As mentioned in fox.py it is recommended to use one of the shell scripts to interact with the repository, as these activate the correct build environment and prepare the PATH variable before starting the build process. If these shell scripts are not used to call the build tool the following steps are required:

  • activating the correct environment

  • make all tools available in PATH

  • the current working directory must be the repository root

  • instead of .\fox.ps1 waf <some-command> use python3 tools/waf <some-command>

  1. Open a terminal and change into a checkout of the foxbms repository

  2. Configuration of the project

    PS C:\Users\vulpes\Documents\foxbms-2> .\fox.ps1 waf configure
    
  3. Now all build variants are available, e.g., to build the binaries (build_bin) and the documentation (build_docs):

    PS C:\Users\vulpes\Documents\foxbms-2> .\fox.ps1 waf build_bin build_docs
    

    Waf commands can be concatenated and are executed in the order of their appearance.

Important available commands are listed in Table 2.6.

Table 2.6 Available build and clean commands

Command/Option

Description

build_all

Shortcut to run all available build commands

build_bin

Builds the binaries

build_docs

Builds the documentation

build_doxygen_src

Builds the doxygen documentation for the sources

build_doxygen_tests

Builds the doxygen documentation for the tests

build_unit_test

Builds and runs all unit tests for the embedded sources

clean_all

Shortcut to run all available clean commands

clean_bin

Cleans all binaries

clean_docs

Cleans the rendered documentation

clean_unit_test

Cleans all output files written during build_unit_test

There are additional commands that are not typically needed when developing. This and other help on the build system is obtained by running

PS C:\Users\vulpes\Documents\foxbms-2> .\fox.ps1 waf --waf-help