Skip to content

Building from Source

  • C++ compiler — GCC 13+, Clang 16+, or MSVC 2022
  • CMake 3.24+
  • vcpkgInstall guide
  • Vulkan SDK 1.3+ — Download
  • Git
Terminal window
git clone https://github.com/contextgg/mortar.git
cd mortar

Mortar uses CMake presets with vcpkg for dependency management. Set VCPKG_ROOT to your vcpkg installation:

Terminal window
export VCPKG_ROOT=/path/to/vcpkg
cmake --preset default
cmake --build build -j$(nproc)

The binary is build/mortar.

Install Vulkan and X11 development packages:

Terminal window
# Ubuntu/Debian
sudo apt install libvulkan-dev vulkan-tools \
libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev
# Fedora
sudo dnf install vulkan-loader-devel vulkan-tools \
libX11-devel libXrandr-devel libXinerama-devel libXcursor-devel libXi-devel

Install the Vulkan SDK from LunarG. MoltenVK is used for Vulkan-on-Metal translation.

Install the Vulkan SDK. Visual Studio 2022 with C++ workload is required.

Open a Developer Command Prompt:

Terminal window
set VCPKG_ROOT=C:\path\to\vcpkg
cmake --preset default
cmake --build build --config Release
Terminal window
./build/mortar --map path/to/map.json

Without --map, the engine loads a default test scene.

OptionDefaultDescription
MORTAR_ENABLE_VALIDATIONON (Debug)Enable Vulkan validation layers
MORTAR_BUILD_TESTSOFFBuild unit tests
Terminal window
cmake --preset default -DMORTAR_BUILD_TESTS=ON
cmake --build build --target tests