Skip to content

Building on Linux

Nikekson edited this page Apr 25, 2024 · 21 revisions

Instructions

# Clone the repo
git clone https://github.com/xmoto/xmoto
cd xmoto

# Build it
#
# Note: If you wish to install to a custom path (e.g. for development), use:
# -DCMAKE_INSTALL_PREFIX=/some/path
# And when running the game, set the `XDG_DATA_DIRS` env variable (note the trailing `/`):
# XDG_DATA_DIRS=/some/path/share/ src/xmoto

mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j"$(nproc)" # or -jN where N is the number of threads to use

# Install
make install

Dependencies

If these appear out of date, please open an issue

Arch Linux

sudo pacman -S cmake curl gettext libjpeg libpng libxml2 sqlite zlib sdl2 sdl2_mixer sdl2_net sdl2_ttf libgl glu

# Optional:
sudo pacman -S xz bzip2 libxdg-basedir

Fedora

sudo dnf install \
     cmake curl zlib sqlite libjpeg-turbo libpng libxml2 libcurl-devel zlib-devel \
     sqlite-devel libjpeg-turbo-devel libpng-devel libxml2-devel mesa-libGLU-devel \
     SDL2 SDL2_mixer SDL2_net SDL2_ttf SDL2-devel SDL2_mixer-devel SDL2_net-devel SDL2_ttf-devel

Debian

sudo apt install \
    cmake libcurl4 libsqlite3-0 zlib1g libjpeg62-turbo libpng16-16 libxml2 gettext \
    libsdl2-2.0-0 libsdl2-mixer-2.0-0 libsdl2-net-2.0-0 libsdl2-ttf-2.0-0 \
    \
    libcurl4-openssl-dev libsqlite3-dev zlib1g-dev libjpeg-dev \
    libpng-dev libxml2-dev libgl1-mesa-dev \
    libsdl2-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev

# Optional:
sudo apt install libxdg-basedir libxdg-basedir-dev bzip2 libbz2-dev liblzma5 liblzma-dev

Ubuntu

sudo apt install \
    cmake libsqlite3-0 libjpeg62 liblua5.3-0 \
    zlib1g libpng16-16 libglu1-mesa libcurl4 libxml2 gettext \
    libsdl2-2.0-0 libsdl2-mixer-2.0-0 libsdl2-ttf-2.0-0 libsdl2-net-2.0-0 \
    libgl1-mesa-dri \
    \
    libsqlite3-dev libjpeg62-dev liblua5.3-dev \
    zlib1g-dev libpng-dev libglu1-mesa-dev libcurl4-openssl-dev libxml2-dev \
    libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-net-dev \
    libgl1-mesa-dev

# Optional:
sudo apt install libxdg-basedir1 libxdg-basedir-dev libbz2-1.0 libbz2-dev liblzma5 liblzma-dev

Void Linux

sudo xbps-install \
    cmake \
    make \
    bzip2 bzip2-devel \
    sqlite sqlite-devel \
    libjpeg-turbo libjpeg-turbo-devel \
    libpng libpng-devel \
    lua lua-devel \
    zlib zlib-devel \
    curl libcurl-devel \
    libxml2 libxml2-devel \
    gettext gettext-devel \
    libxdg-basedir libxdg-basedir-devel \
    glu glu-devel \
    SDL2 SDL2-devel \
    SDL2_mixer SDL2_mixer-devel \
    SDL2_net SDL2_net-devel \
    SDL2_ttf SDL2_ttf-devel