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) VCMI data pack (http://download.vcmi.eu/core.zip) All of them can be installed manually or using vcmibuilder script For complete installation instructions see VCMI wiki: http://wiki.vcmi.eu/index.php?title=Installation_on_Linux#Preparing_data I. Prerequisites To compile, the following packages (and their development counterparts) are needed to build: * libstdc++ devel * CMake build system * 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 * (optional) Qt 5, widget and network modules * 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.48+ (www.boost.org): - program-options - filesystem - system - thread - locale On Debian-based systems (e.g. Ubuntu) run: sudo apt-get install cmake 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-system-dev libboost-thread-dev libboost-program-options-dev On RPM-based distributions (e.g. Fedora) run: sudo yum install cmake gcc-c++ SDL-devel SDL_image-devel SDL_ttf-devel SDL_mixer-devel boost boost-devel boost-filesystem boost-system boost-thread boost-program-options boost-locale zlib-devel ffmpeg-devel ffmpeg-libs 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 http://svn.code.sf.net/p/vcmi/code/trunk/ III. Compilation Run configure: mkdir build && cd build cmake ../src Additional options that you may want to use: To enable debugging: -DCMAKE_BUILD_TYPE=Debug To enable launcher: -DENABLE_LAUNCHER=Yes 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 CMake. Then build vcmi: make -j2 (j2 = compile with 2 cpu cores, you can specifiy any value) That will generate vcmiclient, vcmiserver as well as 3 .so libraries. III. Installing binaries To install VCMI you can use "make install" command however generation of distribution-specific packages is usually a better idea. In most cases this can be achieved using tool called "checkinstall" If you're compiling vcmi for development puposes, it's better to use links instead. Go to /BIN_PATH/, and type: ln -s .../trunk/build/client/vcmiclient ln -s .../trunk/build/server/vcmiserver ln -s .../trunk/build/launcher/vcmilauncher Go to /LIB_PATH/vcmi, and type: ln -s .../trunk/build/lib/libvcmi.so libvcmi.so Go to /LIB_PATH/vcmi/AI, and type: ln -s .../trunk/build/AI/VCAI/VCAI.so ln -s .../trunk/build/AI/StupidAI/StupidAI.so ln -s .../trunk/build/AI/BattleAI/BattleAI.so Go to /DATA_PATH/vcmi, and type: ln -s .../trunk/source/config ln -s .../trunk/source/Mods