Skip to content

Install Firestaff

Daniel Nylander edited this page Aug 1, 2026 · 2 revisions

Install Firestaff

macOS

  1. Download the macOS package from GitHub releases.
  2. Open the downloaded archive or disk image.
  3. Move Firestaff to Applications if desired.
  4. Start Firestaff.

If macOS blocks the app, open System Settings > Privacy & Security and allow the app from there.

Build dependencies (macOS)

brew install cmake ninja sdl3

Windows

  1. Download the Windows ZIP or installer from GitHub releases.
  2. Extract the ZIP or run the installer.
  3. Start firestaff.exe.

Build dependencies (Windows)

Install vcpkg and then:

vcpkg install sdl3

CMake and Ninja can be installed via the Visual Studio installer (select "C++ CMake tools for Windows") or via Scoop:

scoop install cmake ninja

When using vcpkg, pass the toolchain file to CMake:

cmake -S . -B build -DCMAKE_C_COMPILER=cl -DCMAKE_TOOLCHAIN_FILE=%VCPKG_ROOT%/scripts/buildsystems/vcpkg.cmake -G Ninja

Linux

Download the package matching your system:

  • .deb for Debian/Ubuntu-style systems.
  • .rpm for Fedora/RHEL-style systems.
  • Portable archive if available.

On Arch/Steam Deck, prefer the Steam Deck instructions unless an Arch package is explicitly provided.

Build dependencies (Debian / Ubuntu)

sudo apt update
sudo apt install build-essential cmake ninja-build libsdl3-dev

Build dependencies (Fedora / RHEL)

sudo dnf install gcc cmake ninja-build SDL3-devel

Build dependencies (Arch)

sudo pacman -S base-devel cmake ninja sdl3

Build From Source

Requirements:

  • CMake 3.20+
  • C compiler with C11 support (use system cc, not gcc)
  • SDL3
  • Ninja (preferred generator -- faster than Make for this project)
cmake -S . -B build -DCMAKE_C_COMPILER=cc -G Ninja
ninja -C build

The project is pure C (no C++). Do not use gcc explicitly; the system cc (Clang on macOS, GCC on most Linux distributions) is the expected compiler. Ninja is the preferred generator and significantly faster than Make for this codebase.

Run tests

ctest --test-dir build -j4 --output-on-failure

Run a subset with -R <pattern>:

ctest --test-dir build -R "viewport" -j4 --output-on-failure

Some viewport and boot tests require original game data files and will fail or time out without them. See Game Data for setup.

Clone this wiki locally