2. Building the Application¶
Note
There are shell scripts waf.bat
/waf.sh
that activate the correct
build environment before starting the build process. It is recommended to
use these scripts to interact with the build system.
If these shell scripts are not used to call the build tool the following
steps are required:
activating the correct environment
the current working directory must be the repository root
instead of
waf <some-command>
usepython3 tools/waf <some-command>
The following examples are using the shell script waf.bat
Open a terminal and change into a checkout of the foxbms repository
Configuration of the project
C:\Users\vulpes\Documents\foxbms-2>waf configure
Now all build variants are available, e.g., to build the binaries (
build_bin
) and the documentation (build_docs
):C:\Users\vulpes\Documents\foxbms-2>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.
Command/Option |
Description |
---|---|
|
Shortcut to run all available build commands |
|
Builds the binaries |
|
Builds the documentation |
|
Runs a static code analysis on all C sources that are not third party sources |
|
Builds and runs all unit tests for the embedded sources |
|
Shortcut to run all available clean commands |
|
Cleans all binaries |
|
Cleans the rendered documentation |
|
Cleans all output files written during |
|
Cleans all output files written during |
You can profile the build process by running the following command:
C:\Users\vulpes\Documents\foxbms-2>waf build_bin --profile
C:\Users\vulpes\Documents\foxbms-2>gprof2dot -f pstats profile.txt | dot -Tpng -o profile.png
There are additional commands that are not typically needed when developing. This and other help on the build system is obtained by running
C:\Users\vulpes\Documents\foxbms-2>waf --help