Development

Requirements

Common requirements:

  • CMake 3.21 or newer

  • Ninja

  • C++17 compiler

  • Qt 6 Core, Gui, and Widgets

  • Git

Windows builds use the Visual Studio MSVC toolchain and the CMake presets in CMakePresets.json. The default Windows presets expect Qt at C:/Qt/6.10.1/msvc2022_64 and vcpkg at C:/dev/vcpkg.

Ubuntu/Debian dependencies:

sudo apt-get update
sudo apt-get install -y build-essential cmake git ninja-build qt6-base-dev

Build Commands

Windows debug, from a Visual Studio Developer PowerShell:

cmake --preset x64-debug
cmake --build out/build/x64-debug

Windows release:

cmake --preset x64-release
cmake --build out/build/x64-release

Linux debug:

cmake --preset linux-debug
cmake --build out/build/linux-debug

Linux release:

cmake --preset linux-release
cmake --build out/build/linux-release

Tests

Run tests with:

ctest --test-dir out/build/linux-debug --output-on-failure

On headless Linux systems, set:

export QT_QPA_PLATFORM=offscreen

Local API Documentation

The repository also keeps a Doxygen configuration for local C++ API docs. If Doxygen is installed, generate those docs from a configured build tree:

cmake --build out/build/linux-debug --target doc