README.linux 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. This readme covers VCMI compilation on Unix-like systems.
  2. To run the game you will need:
  3. 1) Heroes 3 data files (SoD or Complete editions);
  4. 2) VCMI data pack (http://download.vcmi.eu/core.zip)
  5. All of them can be installed manually or using vcmibuilder script
  6. For complete installation instructions see VCMI wiki:
  7. http://wiki.vcmi.eu/index.php?title=Installation_on_Linux#Preparing_data
  8. I. Prerequisites
  9. To compile, the following packages (and their development counterparts) are needed to build:
  10. * libstdc++ devel
  11. * CMake build system
  12. * SDL and SDL-devel
  13. * SDL_mixer and SDL_mixer-devel
  14. * SDL_image and SDL_image-devel
  15. * SDL_ttf and SDL_ttf-devel
  16. * zlib and zlib-devel
  17. * (optional) Qt 5, widget and network modules
  18. * the ffmpeg libraries (libavformat and libswscale). Their name could be libavformat-devel and libswscale-devel, or ffmpeg-libs-devel or similar names.
  19. * boost c++ libraries v1.48+ (www.boost.org):
  20. - program-options
  21. - filesystem
  22. - system
  23. - thread
  24. - locale
  25. On Debian-based systems (e.g. Ubuntu) run:
  26. 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 libboost-locale-dev qtbase5-dev
  27. On RPM-based distributions (e.g. Fedora) run:
  28. 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
  29. II. Getting the sources
  30. VCMI is still in development. We recommend the following initial directory structure:
  31. trunk
  32. trunk/src -> contains sources and is under SVN control
  33. trunk/build -> contains build output, makefiles, object files,...
  34. You can get latest sources with subversion:
  35. cd trunk
  36. svn co http://svn.code.sf.net/p/vcmi/code/trunk/
  37. III. Compilation
  38. Run configure:
  39. mkdir build && cd build
  40. cmake ../src <any other options, see below>
  41. Additional options that you may want to use:
  42. To enable debugging: -DCMAKE_BUILD_TYPE=Debug
  43. To enable launcher: -DENABLE_LAUNCHER=Yes
  44. Notice:
  45. The ../src/ is not a typo, it will place makefile scripts into the build dir
  46. as the build dir is your working dir when calling CMake.
  47. Then build vcmi:
  48. make -j2 (j2 = compile with 2 cpu cores, you can specifiy any value)
  49. That will generate vcmiclient, vcmiserver as well as 3 .so libraries.
  50. III. Installing binaries
  51. 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"
  52. If you're compiling vcmi for development puposes, it's better to use links instead.
  53. Go to /BIN_PATH/, and type:
  54. ln -s .../trunk/build/client/vcmiclient
  55. ln -s .../trunk/build/server/vcmiserver
  56. ln -s .../trunk/build/launcher/vcmilauncher
  57. Go to /LIB_PATH/vcmi, and type:
  58. ln -s .../trunk/build/lib/libvcmi.so libvcmi.so
  59. Go to /LIB_PATH/vcmi/AI, and type:
  60. ln -s .../trunk/build/AI/VCAI/VCAI.so
  61. ln -s .../trunk/build/AI/StupidAI/StupidAI.so
  62. ln -s .../trunk/build/AI/BattleAI/BattleAI.so
  63. Go to /DATA_PATH/vcmi, and type:
  64. ln -s .../trunk/source/config
  65. ln -s .../trunk/source/Mods