Installing Requirements

First, you need to install cmake:

sudo snap install cmake --classic

Linux

Then you’ll need to install a bunch of system dependencies:

# Install some build dependencies
sudo apt-get install ninja-build build-essential

# Install LLVM Clang (Because it's required to build the filament library)
sudo apt-get install clang libc++-dev libc++abi-dev

# Install X11 Core Libraries
sudo apt-get install libglu1-mesa-dev libxi-dev libxcomposite-dev libxxf86vm-dev libx11-dev libx11-xcb-dev libfontenc-dev libice-dev libsm-dev libxau-dev

# Install X11 Additional Libraries
sudo apt-get install libxaw7-dev libxcursor-dev libxdamage-dev libxinerama-dev libxmuu-dev libxrandr-dev libxres-dev libxss-dev libxtst-dev libxv-dev libxvmc-dev

# Install XCB Libraries
sudo apt-get install libxcb-render-util0-dev libxcb-xkb-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-xinerama0-dev libxcb-dri3-dev libxcb-cursor-dev libxcb-util-dev

Use pip to install the Conan Package Manager:

pip install conan

Configuring a Conan Profile

You must create a default conan profile:

conan profile detect

This will create a file in: ~/.conan2/profiles/default Change profile might look like this:

[settings]
arch=x86_64
build_type=Release
compiler=clang
compiler.cppstd=20
compiler.libcxx=libc++
compiler.version=10
os=Linux

Building the Engine

First, let’s clone the repository:

git clone https://github.com/luizgabriel/Spatial.Engine.git
cd Spatial.Engine

Building the Engine from the Command Line

Now, inside the project’s folder.

conan install . --build=missing
cmake --preset conan-release
cmake --build . --preset conan-release

Running the Engine Editor

cmake --build . --preset conan-release --target Spatial.Game

The first time you run takes a lot of time to download and build the external dependencies.