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:

../../_images/bake_build_hierachy.png

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