Linux Development Setup

April 26, 2026 ยท View on GitHub

Note

Due to developer capacity constraints we cannot support newer or older compilers. We also cannot support other versions of dependencies. In case of doubt you can check the full release build setup used in our CI here. To exactly reproduce the CI build, you need to use the according preset from our CMakePresets.json.

Requirements

Caution

Unix Makefiles are not working. Please use Ninja to build.

Caution

Motis' dependency management pkg requires that the project is cloned via SSH using an SSH key without a passphrase. See:

Note

Using a different compiler version is not officially supported but might work nevertheless when passing --compile-no-warning-as-error to CMake.

Build with GCC

git clone git@github.com:motis-project/motis.git
cd motis
mkdir build && cd build
CXX=g++-13 CC=gcc-13 cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -GNinja ..
ninja

Build with Clang

git clone git@github.com:motis-project/motis.git
cd motis
mkdir build && cd build
CXX=clang++-21 CC=clang-21 CXXFLAGS=-stdlib=libc++ cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -GNinja ..
ninja