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

101 lines
3.4 KiB
Plaintext

This readme covers VCMI compilation on Unix-like systems.
For complete installation instructions see VCMI wiki:
http://wiki.vcmi.eu/index.php?title=Installation_on_Linux
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-all 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 Fedora run(this may not be complete):
sudo yum install gcc-c++ SDL-devel SDL_image-devel SDL_ttf-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/games/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/games --bindir=/usr/local/games --libdir=/usr/local/lib64/games
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
For development puposes, it's better to use links. Go
to /BIN_PATH/, and type:
ln -s /PATH_TO_SOURCE/client/vcmiclient
ln -s /PATH_TO_SOURCE/server/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