Note
About this project
This is my personal sandbox for testing modern C++ features, exploring project architectures, and experimenting with graphics programming.
🎯 Abstract Goal: To build a functional 3D game engine from scratch using C++.
This project uses Git Submodules. It is crucial to include them during the clone process.
Use the --recursive flag to ensure all dependencies are downloaded:
git clone --recursive https://github.com/GrinlexGH/skylabs.gitIf the folder is already on your disk but submodule folders are empty, run this command in the project root:
git submodule update --init --recursiveEnsure you have the following tools installed before compiling:
| Tool | Requirement |
|---|---|
| CMake | Latest version |
| C++ Compiler | Latest MSVC / GCC / Clang |
| Python | 3.x |
| Conan | 2.x |
| Vulkan SDK | Latest SDK (only slang) |
| patchelf | Latest (only for linux) |
This project uses a custom Conan recipe index.
Add the local remote:
conan remote add skylabs ./conan/conan-recipes -t local-recipes-index -fTip
The skylabs remote is required to resolve internal packages used by the project.
Caution
This will overwrite your global Conan configuration. Use it only if you want a fully reproducible environment identical to this project.
conan config install ./conan/conan-config/config# Install dependencies
conan install . -r skylabs -r conancenter --build=missing
# Configure project
cmake --preset conan-default
# Build
cmake --build buildThe Android pipeline is fully automated via Gradle - no manual Conan step required.
cd android
./gradlew assembleDebugTip
Gradle triggers Conan internally during the preBuild phase. It uses android-specific Conan profile (you can copy from my Conan config repo).