2012-05-02 18:27:19 +03:00
This readme covers VCMI compilation on Unix-like systems.
2012-04-06 19:04:41 +03:00
2012-06-27 23:44:01 +03:00
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)
2009-05-08 07:20:23 +03:00
2012-06-27 23:44:01 +03:00
For complete installation instructions see VCMI wiki:
http://wiki.vcmi.eu/index.php?title=Installation_on_Linux#Preparing_data
2009-05-08 07:20:23 +03:00
2012-05-02 18:27:19 +03:00
I. Prerequisites
2009-05-08 07:20:23 +03:00
To compile, at least the following packages (and their development counterparts) are needed to build:
* libstdc++ devel
2009-06-27 15:56:21 +03:00
* 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.
2012-05-02 18:27:19 +03:00
* boost c++ libraries v1.44+ (www.boost.org):
2011-02-28 17:14:26 +02:00
- program-options
2010-10-18 18:08:59 +03:00
- filesystem
- iostreams
- system
- thread
2009-05-08 07:20:23 +03:00
2012-05-02 18:27:19 +03:00
On Debian-based systems (e.g. Ubuntu) run:
2012-06-01 20:28:05 +03:00
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
2009-08-15 05:23:04 +03:00
2012-06-11 21:45:57 +03:00
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
2012-04-06 19:04:41 +03:00
2012-05-02 18:27:19 +03:00
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
2012-04-06 19:04:41 +03:00
2012-05-02 18:27:19 +03:00
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
2012-04-06 19:04:41 +03:00
2009-08-15 05:23:04 +03:00
2012-05-02 18:27:19 +03:00
III. Compilation
2012-04-06 19:04:41 +03:00
2012-05-02 18:27:19 +03:00
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?)
2012-06-11 21:45:57 +03:00
Create a directory that will contain the shared libraries. (default is usually /usr/local/lib64/vcmi)
2012-05-02 18:27:19 +03:00
Run configure:
2012-04-21 13:26:15 +03:00
cd trunk/build
../src/configure
2012-05-02 18:27:19 +03:00
Alternatively it is possible to install VCMI to non-default directory (e.g. /opt/games or /home/user/vcmi).
To do this run:
2012-04-21 13:26:15 +03:00
../src/configure --datadir=/DATA_PATH/ --bindir=/BIN_PATH/vcmi --libdir=/LIB_PATH/
2012-04-06 19:04:41 +03:00
An example would be:
2012-06-11 21:45:57 +03:00
../src/configure --datadir=/usr/local/share --bindir=/usr/local --libdir=/usr/local/lib64
2012-04-21 13:26:15 +03:00
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.
2009-05-16 20:15:21 +03:00
Then build vcmi:
2009-05-08 07:20:23 +03:00
make
That will generate vcmiclient, vcmiserver as well as 3 .so libraries.
2012-05-02 18:27:19 +03:00
III. Installing binaries
2009-10-04 05:02:45 +03:00
2012-05-02 18:27:19 +03:00
Since VCMI is still in development, there's no install procedure, although this will work:
2012-02-16 20:10:58 +03:00
make install
2011-02-28 17:14:26 +02:00
You also need to update configuration files:
2012-04-06 19:04:41 +03:00
cp /PATH_TO_SOURCE/config /DATA_PATH/vcmi
2012-06-27 23:44:01 +03:00
In this case you'll have to manually update these files after any changes.
2012-06-01 20:28:05 +03:00
For more permament solution you should use links as described below.
2011-02-28 17:14:26 +02:00
2009-10-04 05:02:45 +03:00
For development puposes, it's better to use links. Go
2012-04-06 19:04:41 +03:00
to /BIN_PATH/, and type:
2009-05-08 07:20:23 +03:00
2012-06-01 20:28:05 +03:00
ln -s /PATH_TO_SOURCE/client/.libs/vcmiclient
ln -s /PATH_TO_SOURCE/server/.libs/vcmiserver
2012-04-06 19:04:41 +03:00
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:
2012-02-16 20:10:58 +03:00
ln -s /PATH_TO_SOURCE/AI/VCAI/.libs/VCAI.so
ln -s /PATH_TO_SOURCE/AI/StupidAI/.libs/StupidAI.so
2009-05-08 07:20:23 +03:00
2012-04-06 19:04:41 +03:00
Go to /DATA_PATH/vcmi, and type:
ln -s /PATH_TO_SOURCE/config
2011-02-28 17:14:26 +02:00