This page provides information on building the GTKv2 client from source. Instructions for compiling the server are on a separate page.
To build with the default options, change to the source directory and run:
$ mkdir build && cd build/ $ cmake .. $ make # make install
To build with minimal dependencies, use this CMake command instead:
$ cmake -DLUA=OFF -DMETASERVER2=OFF -DOPENGL=OFF -DSDL=OFF -DSOUND=OFF ..
To build with debugging symbols:
$ cmake -DCMAKE_BUILD_TYPE=Debug ..
To install in a custom location (autotools –prefix):
$ cmake -DCMAKE_INSTALL_PREFIX=/path/to/where/you/want ..
Use ccmake instead of cmake to change these options and more interactively.
Optional:
Note: For x86_64 systems, do not mix 64-bit and 32-bit libraries unless it cannot be helped. For example, libsvn0 is a 32-bit library, but lib64svn0 is the 64-bit equivalent. The build process may fail in the linkage stage if a 32-bit library is linked during a 64-bit build.
A quick reference for Arch Linux using the command line interface:
sudo pacman -S cmake sdl_image sdl_mixer subversion vala
A quick reference for Debian 8 (Jessie):
apt-get install cmake libcurl4-openssl-dev libgtk2.0-dev libpng3 libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev pkg-config subversion valac
A quick reference for Debian 9 (Stretch):
apt install cmake libcurl4-openssl-dev libgtk2.0-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev pkg-config subversion valac
A quick reference for Debian 10 (Buster):
apt install cmake libcurl4-openssl-dev libgtk2.0-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev pkg-config subversion valac
A quick reference for Fedora 25 using the command line interface:
sudo dnf install cmake gtk2-devel libcurl-devel SDL_image SDL_image-devel SDL_mixer SDL_mixer-devel subversion vala
A quick reference for Fedora 26 using the command line interface:
sudo dnf install cmake gtk2-devel libcurl-devel SDL_image SDL_image-devel SDL_mixer SDL_mixer-devel subversion vala
A quick reference for Fedora 27 using the command line interface:
sudo dnf install cmake gtk2-devel libcurl-devel SDL_image SDL_image-devel SDL_mixer SDL_mixer-devel subversion vala
A quick reference for Fedora 28 using the command line interface:
sudo dnf install cmake gtk2-devel libcurl-devel SDL_image SDL_image-devel SDL_mixer SDL_mixer-devel subversion vala
A quick reference for Fedora 29 using the command line interface:
sudo dnf install cmake gtk2-devel libcurl-devel SDL_image SDL_image-devel SDL_mixer SDL_mixer-devel subversion vala
A quick reference for Fedora 30 using the command line interface:
sudo dnf install cmake gtk2-devel libcurl-devel make SDL_image SDL_image-devel SDL_mixer SDL_mixer-devel subversion vala
A quick reference for Fedora 31 using the command line interface:
sudo dnf install cmake gtk2-devel libcurl-devel make SDL_image SDL_image-devel SDL_mixer SDL_mixer-devel subversion vala
A quick reference for Fedora 32 using the command line interface:
sudo dnf install cmake gtk2-devel libcurl-devel make SDL_image SDL_image-devel SDL_mixer SDL_mixer-devel subversion vala
A quick reference for Fedora 33 using the command line interface:
sudo dnf install cmake gtk2-devel libcurl-devel make SDL_image SDL_image-devel SDL_mixer SDL_mixer-devel subversion vala
A quick reference for Linux Mint 17.3 (Rosa) using command line interface:
sudo apt-get install cmake libcurl4-openssl-dev libglade2-0 libglade2-dev libpng12-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev subversion valac
A quick reference for Linux Mint 18 (Sara) using command line interface:
sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac
A quick reference for Linux Mint 18.1 (Serena) using command line interface:
sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac
A quick reference for Linux Mint 18.2 (Sonya) using command line interface:
sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac
A quick reference for Linux Mint 18.3 (Sylvia) using command line interface:
sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac
A quick reference for Linux Mint 19 (Tara) using command line interface:
sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac
A quick reference for Linux Mint 19.1 (Tessa) using command line interface:
sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac
A quick reference for Linux Mint 19.2 (Tina) using command line interface:
sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac
A quick reference for Linux Mint 19.2 (Tricia) using command line interface:
sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac
A quick reference for Linux Mint 20 (Ulyana) using command line interface:
sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac
Synaptic package manager is used to manage installation, update and removal of software.
Once open, click Reload in the menu bar. Use the Quick Filter box to search for package names or descriptions. You will need to install the following packages:
A quick reference for Manjaro using command line interface:
sudo pacman -S cmake gcc make pkg-config sdl_image sdl_mixer subversion vala
A quick reference for OpenSUSE Leap 42.3
sudo zypper install cmake gcc gtk2-devel libcurl-devel libSDL_image-devel libSDL_mixer-devel subversion vala
A quick reference for OpenSUSE Tumbleweed
sudo zypper install cmake gcc gtk2-devel libcurl-devel libSDL_image-devel libSDL_mixer-devel subversion vala
A quick reference for Peppermint 10:
sudo apt install cmake libcurl4-openssl-dev libgl1-mesa-dev libgtk2.0-dev libsdl-image1.2-dev libsdl-mixer1.2-dev mesa-common-dev pkg-config subversion valac
The dependency and instructions for the listed versions of Ubuntu includes or applies to all the different flavours including:
A quick reference for Ubuntu 14.04 LTS (Trusty Tahr):
sudo apt-get install cmake libcurl4-openssl-dev libglade2-0 libglade2-dev libpng12-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev subversion valac
A quick reference for Ubuntu 16.04 (Xenial Xerus):
sudo apt-get install cmake libcurl4-openssl-dev libglade2-0 libglade2-dev libpng12-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev subversion valac
A quick reference for Ubuntu 17.04 (Zesty Zapus):
sudo apt-get install cmake libcurl4-openssl-dev libglade2-0 libglade2-dev libpng12-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev subversion valac
A quick reference for Ubuntu 17.10 (Artful Aardvark):
sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac
A quick reference for Ubuntu 18.04.2 LTS (Bionic Beaver):
sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac
A quick reference for Ubuntu 18.10 (Cosmic Cuttlefish):
sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac
A quick reference for Ubuntu 19.04 (Disco Dingo):
sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac
A quick reference for Ubuntu 19.10 (Eoan Ermine):
sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac
A quick reference for Ubuntu 20.04 (Focal Fossa):
sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac
A quick reference for Ubuntu 20.10 (Groovy Gorilla):
sudo apt install cmake libcurl4-openssl-dev libglade2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libgtk2.0-dev subversion valac
IMPORTANT - One should be consistent with what is checked out; meaning use all trunk server & archetypes & maps or branches/1.x server & archetypes & maps or tags/1.72.0 server & archetypes & maps otherwise a strong risk of failure due to incompatibilities exists (broken maps, missing graphics, etc.)
The follow steps may be used to download the client source files to your computer.
$ svn co http://svn.code.sf.net/p/crossfire/code/client/trunk client.svn
These steps have you download branches/1.12
$ svn co http://svn.code.sf.net/p/crossfire/code/client/branches/1.12 client.svn
Here's how to download Tag using the 1.72.0 release as an example
$ svn co http://svn.code.sf.net/p/crossfire/code/client/tags/1.72.0 client.svn