INSTALL
author sheepluva
Fri, 06 Dec 2013 23:53:35 +0100
changeset 9760 395ca7fe6362
parent 8552 6c63c2833866
child 9991 3858d99476f5
child 11338 7a7611adf715
permissions -rw-r--r--
It seems that at the current state it is necessary to protect sending stats/ending game from multiple execution, as that can happen if you e.g. fail a mission more than once in the same tick (e.g. destroying two essential crates at the same time) Otherwise you can get a blank / stuck frontend (e.g. when using deagle to shoot the two last crates at the same time)! the best approach might be to never call the function that sends stats and ends game from any event handler directly, but instead have a flag 'isFailed' that is set to true when any of the possible fails happen and to check that flag every tick to send stats and end game if true

To compile and install you need:
 - CMake >= 2.6.0
 - FreePascal >= 2.2.0
 - Qt >= 4.5.0
 - SDL >= 1.2.5
 - SDL_net >= 1.2.5
 - SDL_mixer >= 1.2
 - SDL_image >= 1.2
 - SDL_ttf >= 2.0
 - Lua >= 5.1.0
 - Physfs >= 2.1.0
For server:
 - Glasgow Haskell Compiler >= 6.10
 - bytestring-show package
 - dataenc package
 - hslogger package
For videorecording:
 - FFmpeg or LibAV
 - GLUT (when SDL < 2)
For compressed screenshots:
 - libpng

Lua will be automatically built if not found.

PhysFS will internally built unless -DPHYSFS_SYSTEM=on is passed to cmake
(also allows to set PHYSFS_LIBRARY and PHYSFS_INCLUDE_DIR if needed).

1. Configure:
$ cmake .
or
$ cmake -DCMAKE_BUILD_TYPE="Release" -DCMAKE_INSTALL_PREFIX="install_prefix" \
-DDATA_INSTALL_DIR="data_dir" -DNOSERVER=1 .

Add -DNOSERVER=0 to compile net server (remember to check out the additional
dependencies with the hedgewars-server.cabal configuration file. If you have
Qt installed but it is not found, you can set it up with
-DQT_QMAKE_EXECUTABLE="path_to_qmake".
To get a glimpse of the main configuration options, you may use this command
`cat CMakeLists.txt | grep option`

2. Compile:
$ make

3. Install:
# make install


That's all! Enjoy!