mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-26 22:57:00 +02:00
613172fa45
- linux readme tweaks
107 lines
3.7 KiB
Plaintext
107 lines
3.7 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) Unofficial WoG addon
|
|
2) VCMI data pack (http://download.vcmi.eu/vcmi-data_0.89.tar.gz)
|
|
|
|
For complete installation instructions see VCMI wiki:
|
|
http://wiki.vcmi.eu/index.php?title=Installation_on_Linux#Preparing_data
|
|
|
|
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 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 RPM-based distributions (e.g. Fedora) run:
|
|
sudo yum install gcc-c++ SDL-devel SDL_image-devel SDL_ttf-devel SDL_mixer-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/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 --bindir=/usr/local --libdir=/usr/local/lib64
|
|
|
|
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
|
|
In this case you'll have to manually update these files after any changes.
|
|
For more permament solution you should use links as described below.
|
|
|
|
For development puposes, it's better to use links. Go
|
|
to /BIN_PATH/, and type:
|
|
|
|
ln -s /PATH_TO_SOURCE/client/.libs/vcmiclient
|
|
ln -s /PATH_TO_SOURCE/server/.libs/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
|
|
|