Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 37 additions & 6 deletions dev/buildguide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,17 @@ MSYS2

.. code-block:: bash

$ pacman -Syu $MINGW_PACKAGE_PREFIX-ninja $MINGW_PACKAGE_PREFIX-cmake $MINGW_PACKAGE_PREFIX-gcc $MINGW_PACKAGE_PREFIX-pkgconf $MINGW_PACKAGE_PREFIX-openal $MINGW_PACKAGE_PREFIX-freetype $MINGW_PACKAGE_PREFIX-sdl3 $MINGW_PACKAGE_PREFIX-zlib $MINGW_PACKAGE_PREFIX-zstd $MINGW_PACKAGE_PREFIX-libpng $MINGW_PACKAGE_PREFIX-rtmidi $MINGW_PACKAGE_PREFIX-fluidsynth $MINGW_PACKAGE_PREFIX-libslirp $MINGW_PACKAGE_PREFIX-libsndfile $MINGW_PACKAGE_PREFIX-qt5-static $MINGW_PACKAGE_PREFIX-qt5-translations $MINGW_PACKAGE_PREFIX-vulkan-headers
$ pacman -Syu $MINGW_PACKAGE_PREFIX-ninja $MINGW_PACKAGE_PREFIX-cmake \
$MINGW_PACKAGE_PREFIX-gcc $MINGW_PACKAGE_PREFIX-pkgconf \
$MINGW_PACKAGE_PREFIX-openal $MINGW_PACKAGE_PREFIX-freetype \
$MINGW_PACKAGE_PREFIX-sdl3 $MINGW_PACKAGE_PREFIX-zlib \
$MINGW_PACKAGE_PREFIX-zstd $MINGW_PACKAGE_PREFIX-libpng \
$MINGW_PACKAGE_PREFIX-rtmidi $MINGW_PACKAGE_PREFIX-fluidsynth \
$MINGW_PACKAGE_PREFIX-libslirp $MINGW_PACKAGE_PREFIX-libsndfile \
$MINGW_PACKAGE_PREFIX-qt5-static \
$MINGW_PACKAGE_PREFIX-qt5-translations \
$MINGW_PACKAGE_PREFIX-vulkan-headers


.. note:: The command installs the packages only for the currently used MinGW environment, therefore you will need to repeat the procedure for every target you plan to build for.

Expand All @@ -126,15 +136,25 @@ Ubuntu, Debian

.. code-block:: bash

$ sudo apt install build-essential cmake extra-cmake-modules pkg-config ninja-build libfreetype-dev libsdl3-dev libzstd-dev libpng-dev libopenal-dev librtmidi-dev libfluidsynth-dev libsndfile1-dev libserialport-dev qtbase5-dev qtbase5-private-dev qttools5-dev libevdev-dev libxkbcommon-dev libxkbcommon-x11-dev libslirp-dev
$ sudo apt install build-essential cmake extra-cmake-modules \
pkg-config ninja-build libfreetype-dev libsdl3-dev \
libzstd-dev libpng-dev libopenal-dev librtmidi-dev \
libfluidsynth-dev libsndfile1-dev libserialport-dev \
qtbase5-dev qtbase5-private-dev qttools5-dev \
libevdev-dev libxkbcommon-dev \
libxkbcommon-x11-dev libslirp-dev


Arch
""""

.. code-block:: bash

$ sudo pacman -Sy base-devel cmake extra-cmake-modules pkgconf ninja libfreetype sdl2 zstd libpng openal rtmidi libslirp fluidsynth libsndfile libserialport qt5-base qt5-xcb-private-headers qt5-tools libevdev libxkbcommon libxkbcommon-x11 vulkan-devel
$ sudo pacman -Sy base-devel cmake extra-cmake-modules pkgconf ninja \
libfreetype sdl2 zstd libpng openal rtmidi libslirp \
fluidsynth libsndfile libserialport qt5-base \
qt5-xcb-private-headers qt5-tools libevdev libxkbcommon \
libxkbcommon-x11 vulkan-devel


Fedora
Expand All @@ -145,7 +165,15 @@ Fedora
.. code-block:: bash

$ sudo dnf group install c-development
$ sudo dnf install cmake extra-cmake-modules pkg-config ninja-build freetype-devel SDL3-devel libatomic libzstd-devel libpng-devel libslirp-devel libXi-devel openal-soft-devel rtmidi-devel fluidsynth-devel libsndfile-devel libserialport-devel qt5-linguist qt5-qtconfiguration-devel qt5-qtbase-private-devel qt5-qtbase-static wayland-devel libevdev-devel libxkbcommon-x11-devel zlib-ng-compat-static libpng-static
$ sudo dnf install cmake extra-cmake-modules pkg-config ninja-build \
freetype-devel SDL3-devel libatomic libzstd-devel \
libpng-devel libslirp-devel libXi-devel \
openal-soft-devel rtmidi-devel fluidsynth-devel \
libsndfile-devel libserialport-devel qt5-linguist \
qt5-qtconfiguration-devel qt5-qtbase-private-devel \
qt5-qtbase-static wayland-devel libevdev-devel \
libxkbcommon-x11-devel zlib-ng-compat-static \
libpng-static



Expand All @@ -154,15 +182,18 @@ macOS (Homebrew)

.. code-block:: bash

$ brew install cmake ninja pkg-config freetype sdl3 zstd libpng openal-soft rtmidi libslirp fluid-synth libsndfile libserialport qt@5
$ brew install cmake ninja pkg-config freetype sdl3 zstd libpng \
openal-soft rtmidi libslirp fluid-synth libsndfile \
libserialport qt@5


FreeBSD
"""""""

.. code-block:: bash

$ pkg install cmake pkgconf freetype-gl sdl3 zstd libspng openal-soft rtmidi qt5 libslirp fluidsynth libsndfile
$ pkg install cmake pkgconf freetype-gl sdl3 zstd libspng openal-soft \
rtmidi qt5 libslirp fluidsynth libsndfile

.. note:: If you get an error about ``linux/input.h`` while building, this is due to ``libevdev.h`` mistakenly importing a Linux header file on FreeBSD. Copy the full path of ``libevdev.h`` from the error and open it with an editor. Within the file, replace the ``linux/input.h`` reference with ``dev/evdev/input.h`` and try building again.

Expand Down