All checks were successful
Bigfoot / Build & Test Debug (Unity Build: OFF) (push) Successful in 24s
Bigfoot / Build & Test Debug (Unity Build: ON) (push) Successful in 25s
Bigfoot / Build & Test RelWithDebInfo (Unity Build: OFF) (push) Successful in 25s
Bigfoot / Build & Test RelWithDebInfo (Unity Build: ON) (push) Successful in 25s
Bigfoot / Build & Test Release (Unity Build: OFF) (push) Successful in 21s
Bigfoot / Build & Test Release (Unity Build: ON) (push) Successful in 20s
Bigfoot / Clang Format Checks (push) Successful in 9s
Reviewed-on: #3 Co-authored-by: Romain BOULLARD <romain.boullard@protonmail.com> Co-committed-by: Romain BOULLARD <romain.boullard@protonmail.com>
69 lines
3.2 KiB
Markdown
69 lines
3.2 KiB
Markdown
# Bigfoot
|
|
|
|
A multiplatform 3D game engine
|
|
|
|
# Goals
|
|
|
|
The goal is to build a multiplatform, API agnostic, 3D engine. Since this is a learning project, I don't aim to provide a viable option to build actual commercial games with it. This also means that I am providing the project as is, with no support whatsoever.
|
|
|
|
# Building
|
|
|
|
### Requirements
|
|
|
|
1. [ConanV2](https://conan.io/)
|
|
2. [SQLite3 tools](https://www.sqlite.org/download.html) available from the command line
|
|
3. [Vulkan SDK](https://www.lunarg.com/vulkan-sdk/) (If you target Vulkan)
|
|
4. [CMake](https://cmake.org/)
|
|
5. [Git](https://git-scm.com/)
|
|
6. [RenderDoc](https://renderdoc.org/) (If you want to use the integrated RenderDoc API)
|
|
7. [Python3](https://www.python.org/)
|
|
|
|
#### Additional requirements for Linux
|
|
|
|
1. [Clang](https://clang.llvm.org/) (Version 18)
|
|
2. [Mold](https://github.com/rui314/mold)
|
|
3. [Ninja](https://github.com/ninja-build/ninja)
|
|
4. [CCache](https://ccache.dev/) (Not a requirement, but nice to have)
|
|
|
|
Note: you can modify the conan profile used to overcome these requirements. But I provide no support for anything else than what's listed here
|
|
|
|
#### Additional requirements for Windows
|
|
|
|
1. MSVC
|
|
|
|
Note: you can modify the conan profile used to overcome these requirements. But I provide no support for anything else than what's listed here
|
|
|
|
### Generating the dependencies for Bigfoot
|
|
|
|
Use generate_dependencies.sh or generate_dependencies.bat (depending on your platform). These scripts will download/build/install any necessary dependency, using Conan. The recipes used will come from [my own conan recipe center](packages.bigfootengine.com)
|
|
|
|
You will need to provide the 'force' or 'missing' parameters to these scripts. I'd recommand for a first run to use 'force' to build all dependencies, and on subsequent runs to use 'missing' to build only missing parameters
|
|
|
|
```
|
|
./generate_dependencies.sh force
|
|
or
|
|
./generate_dependencies.sh missing
|
|
```
|
|
|
|
You can customize these scripts to opt-out of some Bigfoot features
|
|
|
|
'Just' modify these lines to disable them (I promise to one day modify the script to do it from the command line)
|
|
|
|
```
|
|
bigfoot/*:unity_build=True -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:build_tools=True -o bigfoot/*:vulkan=True -o bigfoot/*:build_benchmarks=True -o bigfoot/*:render_doc=True
|
|
```
|
|
|
|
1. unity_build: Enable/Disable [unity builds](https://cmake.org/cmake/help/latest/variable/CMAKE_UNITY_BUILD.html) feature (will slow down compilation times)
|
|
2. build_tests: Enable/Disable the tests
|
|
3. tracy: Enable/Disable profiling using [Tracy](https://github.com/wolfpld/tracy)
|
|
4. build_tools: Enable/Disable the tools (I'd absolutely recommand not disabling this if you are building benchamrks or tests)
|
|
5. vulkan: Enable/Disable Vulkan renderer (No point disabling it, since for now only Vulkan is available in Bigfoot)
|
|
6. build_benchmarks: Enable/Disable the benchmarks
|
|
7. render_doc: Enable/Disable the possitbility to use [RenderDoc](https://renderdoc.org/) API to capture from code
|
|
|
|
|
|
### Generating Bigfoot
|
|
|
|
Use generate_bigfoot.sh or generate_bigfoot.bat (depending on your platform) to generate the build files for Bigfoot.
|
|
|
|
You will then be able to use either Visual Studio (Windows) or Ninja (Linux) to build BigFoot |