This readme covers VCMI compilation on Unix-like systems. For complete installation instructions see VCMI wiki: http://wiki.vcmi.eu/index.php?title=Installation_on_Linux 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-all 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 Fedora run(this may not be complete): sudo yum install gcc-c++ SDL-devel SDL_image-devel SDL_ttf-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/games/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/games --bindir=/usr/local/games --libdir=/usr/local/lib64/games 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 For development puposes, it's better to use links. Go to /BIN_PATH/, and type: ln -s /PATH_TO_SOURCE/client/vcmiclient ln -s /PATH_TO_SOURCE/server/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