1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-26 08:41:13 +02:00
vcmi/README.linux
Ivan Savenko 613172fa45 - fixed #582, #1019 and #1022
- linux readme tweaks
2012-06-27 20:44:01 +00:00

107 lines
3.7 KiB
Plaintext

This readme covers VCMI compilation on Unix-like systems.
To run the game you will need:
1) Heroes 3 data files (SoD or Complete editions);
2) Unofficial WoG addon
2) VCMI data pack (http://download.vcmi.eu/vcmi-data_0.89.tar.gz)
For complete installation instructions see VCMI wiki:
http://wiki.vcmi.eu/index.php?title=Installation_on_Linux#Preparing_data
I. Prerequisites
To compile, at least the following packages (and their development counterparts) are needed to build:
* libstdc++ devel
* SDL and SDL-devel
* SDL_mixer and SDL_mixer-devel
* SDL_image and SDL_image-devel
* SDL_ttf and SDL_ttf-devel
* zlib and zlib-devel
* the ffmpeg libraries (libavformat and libswscale). Their name could be libavformat-devel and libswscale-devel, or ffmpeg-libs-devel or similar names.
* boost c++ libraries v1.44+ (www.boost.org):
- program-options
- filesystem
- iostreams
- system
- thread
On Debian-based systems (e.g. Ubuntu) run:
sudo apt-get install g++ libsdl1.2debian libsdl-image1.2-dev libsdl-ttf2.0-dev libsdl-mixer1.2-dev zlib1g-dev libavformat-dev libswscale-dev libboost-dev libboost-filesystem-dev libboost-iostreams-dev libboost-system-dev libboost-thread-dev libboost-program-options-dev
On RPM-based distributions (e.g. Fedora) run:
sudo yum install gcc-c++ SDL-devel SDL_image-devel SDL_ttf-devel SDL_mixer-devel boost boost-devel boost-filesystem boost-iostreams boost-system boost-thread boost-program-options zlib-devel ffmpeg-devel ffmpeg-libs
Optionaly, if you want to regenerate the build system, you will need the following tools:
* libtool
* automake
* autoconf
And then regenerate the build system with
autoreconf -i
II. Getting the sources
VCMI is still in development. We recommend the following initial directory structure:
trunk
trunk/src -> contains sources and is under SVN control
trunk/build -> contains build output, makefiles, object files,...
You can get latest sources with subversion:
cd trunk
svn co https://vcmi.svn.sourceforge.net/svnroot/vcmi/trunk src
III. Compilation
On linux distributions like Fedora Mp3 support isn't given for the time being.
There is a mantis call here: http://bugs.vcmi.eu/view.php?id=933.
(Fedora-only?)
Create a directory that will contain the shared libraries. (default is usually /usr/local/lib64/vcmi)
Run configure:
cd trunk/build
../src/configure
Alternatively it is possible to install VCMI to non-default directory (e.g. /opt/games or /home/user/vcmi).
To do this run:
../src/configure --datadir=/DATA_PATH/ --bindir=/BIN_PATH/vcmi --libdir=/LIB_PATH/
An example would be:
../src/configure --datadir=/usr/local/share --bindir=/usr/local --libdir=/usr/local/lib64
Notice:
The ../src/ is not a typo, it will place makefile scripts into the build dir
as the build dir is your working dir when calling the configure script.
Then build vcmi:
make
That will generate vcmiclient, vcmiserver as well as 3 .so libraries.
III. Installing binaries
Since VCMI is still in development, there's no install procedure, although this will work:
make install
You also need to update configuration files:
cp /PATH_TO_SOURCE/config /DATA_PATH/vcmi
In this case you'll have to manually update these files after any changes.
For more permament solution you should use links as described below.
For development puposes, it's better to use links. Go
to /BIN_PATH/, and type:
ln -s /PATH_TO_SOURCE/client/.libs/vcmiclient
ln -s /PATH_TO_SOURCE/server/.libs/vcmiserver
Go to /LIB_PATH/vcmi, and type:
ln -s /PATH_TO_SOURCE/lib/.libs/libvcmi.so libvcmi.so.0
Go to /LIB_PATH/vcmi/AI, and type:
ln -s /PATH_TO_SOURCE/AI/VCAI/.libs/VCAI.so
ln -s /PATH_TO_SOURCE/AI/StupidAI/.libs/StupidAI.so
Go to /DATA_PATH/vcmi, and type:
ln -s /PATH_TO_SOURCE/config