1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-28 23:06:24 +02:00
vcmi/README.linux
Ivan Savenko 5cbec833c2 - (linux) XDG filesystem support
BIG NOTE TO LINUX USERS
All user data has been moved according to XDG specs:
- Game data (H3 files and mods) and saves: from ~/.vcmi to ~/.local/
- Temporary files, including logs: from ~/.vcmi to ~/.cache/vcmi
- Config files: from ~/.vcmi/config to ~/.config/vcmi

For compatibility VCMI will read game data from ~/.vcmi as well but this
is temporary behavior and will be removed
2014-03-04 14:51:10 +00:00

91 lines
3.2 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.48+ (www.boost.org):
- program-options
- filesystem
- system
- thread
- locale
On Debian-based systems (e.g. Ubuntu) run:
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
On RPM-based distributions (e.g. Fedora) run:
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
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 http://svn.code.sf.net/p/vcmi/code/trunk/
III. Compilation
Run configure:
mkdir build && cd build
cmake ../src <any other options, see below>
Additional options that you may want to use:
To enable debugging: -DCMAKE_BUILD_TYPE=Debug
To enable launcher: -DENABLE_LAUNCHER=Yes
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 CMake.
Then build vcmi:
make -j2 (j2 = compile with 2 cpu cores, you can specifiy any value)
That will generate vcmiclient, vcmiserver 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, 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