1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-26 22:57:00 +02:00
vcmi/README.linux

107 lines
3.7 KiB
Plaintext
Raw Normal View History

2012-05-02 18:27:19 +03:00
This readme covers VCMI compilation on Unix-like systems.
2012-04-06 19:04:41 +03:00
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
2012-05-02 18:27:19 +03:00
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.
2012-05-02 18:27:19 +03:00
* boost c++ libraries v1.44+ (www.boost.org):
- program-options
- filesystem
- iostreams
- system
- thread
2012-05-02 18:27:19 +03:00
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
2012-06-11 21:45:57 +03:00
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
2012-04-06 19:04:41 +03:00
2012-05-02 18:27:19 +03:00
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
2012-04-06 19:04:41 +03:00
2012-05-02 18:27:19 +03:00
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
2012-04-06 19:04:41 +03:00
2012-05-02 18:27:19 +03:00
III. Compilation
2012-04-06 19:04:41 +03:00
2012-05-02 18:27:19 +03:00
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?)
2012-06-11 21:45:57 +03:00
Create a directory that will contain the shared libraries. (default is usually /usr/local/lib64/vcmi)
2012-05-02 18:27:19 +03:00
Run configure:
2012-04-21 13:26:15 +03:00
cd trunk/build
../src/configure
2012-05-02 18:27:19 +03:00
Alternatively it is possible to install VCMI to non-default directory (e.g. /opt/games or /home/user/vcmi).
To do this run:
2012-04-21 13:26:15 +03:00
../src/configure --datadir=/DATA_PATH/ --bindir=/BIN_PATH/vcmi --libdir=/LIB_PATH/
2012-04-06 19:04:41 +03:00
An example would be:
2012-06-11 21:45:57 +03:00
../src/configure --datadir=/usr/local/share --bindir=/usr/local --libdir=/usr/local/lib64
2012-04-21 13:26:15 +03:00
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.
2012-05-02 18:27:19 +03:00
III. Installing binaries
2012-05-02 18:27:19 +03:00
Since VCMI is still in development, there's no install procedure, although this will work:
make install
You also need to update configuration files:
2012-04-06 19:04:41 +03:00
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
2012-04-06 19:04:41 +03:00
to /BIN_PATH/, and type:
ln -s /PATH_TO_SOURCE/client/.libs/vcmiclient
ln -s /PATH_TO_SOURCE/server/.libs/vcmiserver
2012-04-06 19:04:41 +03:00
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
2012-04-06 19:04:41 +03:00
Go to /DATA_PATH/vcmi, and type:
ln -s /PATH_TO_SOURCE/config