Project's structure
Build system
premake5 is used as underlying build system. Asteroid Farm is organized into workspace and
projects. The premake5.lua file in root directory defines the workspace, global include
directories and includes individual projects. Projects are stored in separate directories, each
containing its own premake5.lua file. premage5 generates a master Makefile that includes
Makefiles of each project.
External libraries
Libraries used in projects should be stored in vendor folder. Rules for
building can be added to the premake file stored there.
Documentation
Documentation is stored in documentation/ folder. The index.md is the main
page.
Documentation is generated automatically when the whole projetc is build. You need to have
mkdocs-material installed:
pip install mkdocs-material
To generate documentation locally:
cd docs
make
The output files will be generated in docs folder, which is also under version control. After
updating documentation and building it, commit the changes in docs folder as well.
Dependencies
- fmt
- gtest
- mkdocs-material