- Custom Development
This is an old revision of the document!
To keep the code base modular we use submodules (Online documentation: Git Tools - Submodules, Using submodules and subrepositories). Some submodules are used by all the projects, while some are more specific. Their code is kept general so it compiles with many flavors of GCC/g++.
The screenshot below shows https://github.com/DephyInc/fx-rigid-mn. We will use it as an example to highlight a few things.
To clone a repository in a fresh directory, with its submodules populated, use this command:
git clone --recursive -b branchName https://github.com/DephyInc/RepositoryName.git
If we use the fx-rigid-mn repository as an example, to clone the dev branch we use:
git clone --recursive -b dev https://github.com/DephyInc/fx-rigid-mn.git
When you do that, you get the submodule version that was committed with the main project. As an example, flexsea-comm will be at version 46874a2. This might not be the latest, but its what was committed. Unless the developper made a mistake while committing or pushing the code, this project should compile and work with no tweaking necessary.