Add build instructions to readme.md

This includes package lists for various distributions.
This commit is contained in:
heinrich5991 2019-02-06 00:54:49 +01:00
parent aefda9e9d7
commit 9bd2a2d986

View file

@ -21,8 +21,59 @@ text including copyright information.
Please visit https://www.teeworlds.com/ for up-to-date information about Please visit https://www.teeworlds.com/ for up-to-date information about
the game, including new versions, custom maps and much more. the game, including new versions, custom maps and much more.
Instructions to build the game can be found at
https://teeworlds.com/?page=docs&wiki=compiling_everything. In
particular, you will need SDL2 and FreeType installed.
Originally written by Magnus Auvinen. Originally written by Magnus Auvinen.
Building on Linux
=================
Installing dependencies
-----------------------
# Debian/Ubuntu
sudo apt install build-essential cmake git libfreetype6-dev libsdl2-dev libpnglite-dev libwavpack-dev python3
# Fedora
sudo dnf install @development-tools cmake gcc-c++ git freetype-devel mesa-libGLU-devel pnglite-devel python3 SDL2-devel wavpack-devel
# Arch Linux (doesn't have pnglite in its repositories)
sudo pacman -S --needed base-devel cmake freetype2 git glu python sdl2 wavpack
Downloading repository
----------------------
git clone https://github.com/teeworlds/teeworlds --recurse-submodules
cd teeworlds
# If you already cloned the repository before, use:
# git submodule update --init
Building
--------
mkdir -p build
cd build
cmake ..
make
On subsequent builds, you only have to repeat the `make` step.
Build options
-------------
The following options can be passed to the `cmake ..` command line (between the
`cmake` and `..`) in the "Building" step above.
`-GNinja`: Use the Ninja build system instead of Make. This automatically
parallizes the build and is generally **faster**. (Needs `sudo apt install
ninja-build` on Debian, `sudo dnf install ninja-build` on Fedora, and `sudo
pacman -S --needed ninja` on Arch Linux.)
`-DDEV=ON`: Enable debug mode and disable some release mechanics. This leads to
**faster** builds.
`-DCLIENT=OFF`: Disable generation of the client target. Can be useful on
headless servers which don't have graphics libraries like SDL2 installed.