Code Generation in User Projects - uw-advanced-robotics/taproot GitHub Wiki
Projects using Taproot do not import the code in this repo directly. Instead, the provided library
code is preprocessed by lbuild
, a code templating tool.
User projects include the taproot
repository as a git "submodule" -- a git repo within a git repo.
They then define a project.xml
which configures Taproot with chosen hardware parameters and
requirements. From within the same directory, running lbuild build
will re-generate all requested
code.
Edits to generated code should be avoided: they will be overwritten the next time lbuild
is run.
Prefer contributing changes to the upstream Taproot project, or forking the library and pointing
your submodule at this new fork. As a last resort, code edits can be made, but will increase
maintenance overhead.
The template project provides an example of this configuration in practice.