mirror of
				https://github.com/vcmi/vcmi.git
				synced 2025-10-31 00:07:39 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			113 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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
 |