123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- 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.50+ (www.boost.org):
- - program-options
- - filesystem
- - system
- - thread
- - locale
- On Debian-based systems (e.g. Ubuntu) run:
- sudo apt-get install cmake g++ libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsdl2-mixer-dev zlib1g-dev libavformat-dev libswscale-dev libboost-dev libboost-filesystem-dev libboost-system-dev libboost-thread-dev libboost-program-options-dev libboost-locale-dev libboost-test-dev qtbase5-dev
- On RPM-based distributions (e.g. Fedora) run:
- sudo yum install cmake gcc-c++ SDL2-devel SDL2_image-devel SDL2_ttf-devel SDL2_mixer-devel boost boost-devel boost-filesystem boost-system boost-thread boost-program-options boost-locale zlib-devel ffmpeg-devel ffmpeg-libs qt5-qtbase-devel
- On Arch-based distributions, there is a development package available for VCMI on the AUR. It can be found at:
- https://aur.archlinux.org/packages/vcmi-git/
- Information about building packages from the Arch User Repository (AUR) can be
- found at the Arch wiki.
- II. Getting the sources
- VCMI is still in development. We recommend the following initial directory structure:
- trunk
- trunk/vcmi -> contains sources and is under git control
- trunk/build -> contains build output, makefiles, object files,...
- You can get latest sources with subversion:
- git clone https://github.com/vcmi/vcmi.git
- III. Compilation
- Run configure:
- mkdir build && cd build
- cmake ../vcmi <any other options, see below>
- Additional options that you may want to use:
- To enable debugging: -DCMAKE_BUILD_TYPE=Debug
- To change installation directory: -DCMAKE_INSTALL_PREFIX=$absolute_path_to_directory
- Notice:
- The ../vcmi/ 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 threads, you can specify any value)
- That will generate vcmiclient, vcmiserver, vcmilauncher 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, the easiest is to use cmake prefix and then make install:
- # mkdir .../trunk/install
- # cmake -DCMAKE_INSTALL_PREFIX=.../trunk/install ../vcmi
- # make && make install
- # .../trunk/install/bin/vcmiclient
- 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
- IV. Compiling documentation
- To compile using Doxygen, the UseDoxygen CMake module must be installed. It can
- be fetched from: http://tobias.rautenkranz.ch/cmake/doxygen/
- Once UseDoxygen is installed, run:
- cmake .
- make doc
- The built documentation will be available from ./doc
|