The build hierarchy
- Depending on the contents of the Project.meta files, a build graph will be generated:
An ExecutableConfig usually specifies files to compile, dependencies to other projects and linker stuff.
A LibraryConfig usually specifies files to compile and archive.
A CustomConfig usually defines a custom step.
Every config type can be equipped with pre and post steps like shell commands or makefiles.
All these steps will be combined to a build graph.
Example:
The main project has dependencies to the projects A, B and C:
Steps are executed bottom-up. If one step fails, all steps above won’t be executed.
- If for example:
PreStepMain 2 fails
at least one file of library B does not compile
- then:
library B will not be created
files of the main project will not be compiled
main project will not be linked
post step of main project will not be executed