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