Skip to content

Repository files navigation

🥼 Skylabs

Discord C++ Vulkan

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++.

📥 Cloning the Repository

This project uses Git Submodules. It is crucial to include them during the clone process.

✅ Correct way to clone

Use the --recursive flag to ensure all dependencies are downloaded:

git clone --recursive https://github.com/GrinlexGH/skylabs.git

⚠️ If you already cloned (without recursive)

If the folder is already on your disk but submodule folders are empty, run this command in the project root:

git submodule update --init --recursive

🛠️ Build Requirements

Ensure you have the following tools installed before compiling:

Tool Requirement
CMake Latest version
C++ Compiler Latest MSVC / GCC / Clang
Conan Latest version
Android SDK Latest SDK (optional)

⚙️ Configuration & Building

🔧 1. Configure Conan

This project uses a custom Conan recipe index.

Add the local remote:

conan remote add skylabs ./conan/conan-recipes -t local-recipes-index -f

Tip

The skylabs remote is required to resolve internal packages used by the project.


🌍 Install Global Conan Config

Caution

This will overwrite your global Conan configuration.

conan config install ./conan/conan-config/config

💻 2. Desktop Build

Warning

This project is using C++ 20 modules, so you need to set CMAKE_EXPERIMENTAL_CXX_IMPORT_STD to uuid which your version of cmake uses. You can see it in cmake sources.

# Install dependencies
# Use msvc:
conan install . -pr msvc-18 -r skylabs -r conancenter -s build_type=Debug -s compiler.runtime_type=Debug --build=missing

# Use LLVM/clang from github:
conan install . -pr clang-cl-llvm -r skylabs -r conancenter -s build_type=Debug -s compiler.runtime_type=Debug --build=missing

# Use clang from visual studio:
conan install . -pr clang-cl-18 -r skylabs -r conancenter -s build_type=Debug -s compiler.runtime_type=Debug --build=missing

# Use mingw:
conan install . -pr clang-clang64 -r skylabs -r conancenter -s build_type=Debug --build=missing
conan install . -pr gcc-ucrt64 -r skylabs -r conancenter -s build_type=Debug --build=missing

# Linux:
conan install . -pr clang-linux -r skylabs -r conancenter -s build_type=Debug --build=missing
conan install . -pr gcc-linux -r skylabs -r conancenter -s build_type=Debug --build=missing

# Configure project
cmake --preset conan-default

# Build
cmake --build build

📚 References & Resources

About

Custom Engine on SDL3

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages