Getting Started
This section explains how to set up your environment and build the project.
1. Dependencies
To make the build process more repeatable most dependencies are included in the project as submodules (The files are in this project). There are two major exceptions.
1.1 A c++ compiler
More specifically the project uses the C23 #embed
feature to embed resources such as shaders / objects / textures into the executable. At the time of writing both the clang
and gcc
toolchains support this feature.
Since the clang
compiler is available on all major desktop platforms the project is configured to use the clang compiler if it is detected (CMakePresets.json
).
To see if other compilers support this feature, see the C23 Compiler support website.
1.2 Vulkan SDK
The vulkan sdk is just too large to include in the project and needs to be installed manually.
If you use a package manager, the sdk should be available on most and could be installed this way.
Otherwise, go to the Vulkan SDK Download page and download the installer for your operating system.
2. Build
2.1 List the presets for your system
The output will look something like
The ID of the preset is the quoted string. Pick a preset and remember its ID that id will be referenced as <preset-id>
going forward.
2.2 Create a subdirectory
The following instructions will assume that you are in a subdirectory of the project. If you want to use a different name for this directory you are welcome.
2.3 Generate the build files
As an example if I wanted to create a debug build on linux the command would be.
If this command executes successfully all dependencies have been found by cmake.
If it is needed to try again the command must be modified a bit.
2.4 Build the project
2.5 Run the project
Linux
Windows