mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-20 20:23:03 +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:
|
|
.
|
|
├── vcmi -> contains sources and is under git control
|
|
└── build -> contains build output, makefiles, object files,...
|
|
|
|
You can get latest sources with:
|
|
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/libVCAI.so
|
|
ln -s .../trunk/build/AI/StupidAI/libStupidAI.so
|
|
ln -s .../trunk/build/AI/BattleAI/libBattleAI.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
|