Use FreeAndNil across the board. Even if we are immediately assigning after, probably avoids accidental mistakes. Also free neglected owner tex on shutdown, and delete hog gears using the normal deletion procedure if for any reason they still exist (EndGame call?).
To compile and install you need:
- CMake >= 2.6.0
- FreePascal >= 2.2.4
- Qt >= 4.7.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.0.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!