Difference between revisions of "How to build VCMI (Linux)"

From VCMI Project Wiki
Jump to: navigation, search
(Compiling VCMI)
(Compiling VCMI)
Line 1: Line 1:
 
= Compiling VCMI =
 
= Compiling VCMI =
 
Supported C++ compilers for UNIX-like systems: GCC 4.8+, Clang 3.4+
 
Supported C++ compilers for UNIX-like systems: GCC 4.8+, Clang 3.4+
 +
 
Older compilers might work, but they aren't tested by Travis CI.
 
Older compilers might work, but they aren't tested by Travis CI.
  

Revision as of 22:59, 20 August 2017

Compiling VCMI

Supported C++ compilers for UNIX-like systems: GCC 4.8+, Clang 3.4+

Older compilers might work, but they aren't tested by Travis CI.

There is a guide for compiling and running VCMI located in the repository root directory: README.linux

Set automatically soft-links bash script

The last step in the above-mentioned compiling guide requires to create soft-links for convenient debugging and development in general. There is a bash script which does this step automatically for you. You have to enter the build path, specify the source path and select the usual library folder of the operating system. Then the script takes the work to create all those symbolic links. This is comfortable if you're working on different source folders(trunk, tag, branch) or build types(debug, release) and you want to switch from one build to the other. The link to the script is here: http://download.vcmi.eu/setBuildLinks

Package building

RPM package

The first step is to prepare a RPM build environment. On Fedora systems you can follow this guide: http://fedoraproject.org/wiki/How_to_create_an_RPM_package#SPEC_file_overview

1. Download the file rpm/vcmi.spec from any tagged VCMI release for which you wish to build a RPM package via the SVN Browser trac at this URL for example(which is for VCMI 0.9): http://sourceforge.net/apps/trac/vcmi/browser/tags/0.9/rpm/vcmi.spec

2. Copy the file to ~/rpmbuild/SPECS

3. Follow instructions in the vcmi.spec. You have to export the corresponding SVN tag, compress it to a g-zipped archive and copy it to ~/rpmbuild/SOURCES. Instructions are written as comments and you can copy/paste commands into terminal.

4. Go to ~/rpmbuild/SPECS and open terminal in this folder and type:
rpmbuild -ba vcmi.spec (this will build rpm and source rpm)

5. Generated RPM is in folder ~/rpmbuild/RPMS

If you want to package the generated RPM above for different processor architectures and operating systems you can use the tool mock. Moreover, it is necessary to install mock-rpmfusion_free due to the packages ffmpeg-devel and ffmpeg-libs which aren't available in the standard RPM repositories(at least for Fedora). Go to ~/rpmbuild/SRPMS in terminal and type:

mock -r fedora-17-i386-rpmfusion_free path_to_source_RPM
mock -r fedora-17-x86_64-rpmfusion_free path_to_source_RPM

Available root environments and their names are listed in /etc/mock.

Debian/Ubuntu

1. Install debhelper and devscripts packages

2. Run dpkg-buildpackage command from vcmi source directory

sudo apt-get install debhelper devscripts
cd /path/to/source
dpkg-buildpackage

To generate packages for different architectures see "-a" flag of dpkg-buildpackage command

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