2015-04-30 21:15:18 +02:00
/** \page compilation Build & installation
2013-10-24 17:08:58 +02:00
2015-04-30 09:29:10 +02:00
This page describes how to compile, build
2013-10-24 17:08:58 +02:00
and install Concordia library.
\section compilation1 Requirements
2015-04-30 09:29:10 +02:00
Before you compile, make sure you have these installed:
- g++ compiler
2013-10-24 17:08:58 +02:00
- cmake
- Boost library
- Log4cpp
- (optional) Doxygen
2015-04-30 09:29:10 +02:00
- (optional) TeX
2013-10-24 17:08:58 +02:00
2015-04-30 09:29:10 +02:00
\subsection compilation1_1 Ubuntu package list
2013-10-24 17:08:58 +02:00
2015-04-30 09:29:10 +02:00
On Ubuntu 14.04, the above software comes in standard packages. Here is the complete list of these packages:
- g++
- cmake
- libboost-dev
- libboost-serialization-dev
- libboost-test-dev
- libboost-filesystem-dev
- libboost-system-dev
- libboost-program-options-dev
- libboost-iostreams-dev
- libboost-regex-dev
- libboost-locale-dev
- liblog4cpp5-dev
- libconfig++-dev
- libconfig-dev
- libpcre3-dev
- doxygen
- texlive-font-utils
\subsection compilation1_2 Ubuntu requirements install command
If you want to install all the above packages at once, simply use the below command (this will also install the optional packages):
2013-10-24 17:08:58 +02:00
2015-04-30 09:29:10 +02:00
\verbatim
2013-10-24 17:08:58 +02:00
2015-04-30 09:29:10 +02:00
sudo apt-get install g++ cmake libboost-dev libboost-serialization-dev libboost-test-dev libboost-filesystem-dev libboost-system-dev libboost-program-options-dev libboost-iostreams-dev libboost-regex-dev libboost-locale-dev liblog4cpp5-dev libconfig++-dev libconfig-dev libpcre3-dev doxygen texlive-font-utils
2013-10-24 17:08:58 +02:00
2015-04-30 09:29:10 +02:00
\endverbatim
2013-10-24 17:08:58 +02:00
2015-04-30 09:29:10 +02:00
\section compilation2 Build & installation procedure
2013-10-24 17:08:58 +02:00
2015-04-30 09:29:10 +02:00
To build and install Concordia, navigate to its home directory and issue the following commands:
2013-10-24 17:08:58 +02:00
2015-04-30 09:29:10 +02:00
\verbatim
2013-10-24 17:08:58 +02:00
2015-04-30 09:29:10 +02:00
mkdir build
cd build
../cmake.sh
make
make test
sudo make install
2013-10-24 17:08:58 +02:00
2015-04-30 09:29:10 +02:00
\endverbatim
2013-10-24 17:08:58 +02:00
2015-04-30 09:29:10 +02:00
After that it is strongly recommended to run ldconfig to update linker info with newly installed shared libraries:
2013-10-24 17:08:58 +02:00
2015-04-30 09:29:10 +02:00
\verbatim
sudo ldconfig -v
\endverbatim
2013-10-24 17:08:58 +02:00
\section compilation3 Documentation
If Doxygen is available, a successful compilation generates documentation data in three
formats in the build/doc directory.
The man files in doc/man will be installed during installation. Open doc/html/index.html for
a HTML version of the same documentation. The latex directory contains uncompiled latex
files. To generate a single pdf file run
2015-04-30 09:29:10 +02:00
\verbatim
2013-10-24 17:08:58 +02:00
cd doc/latex
make
2015-04-30 09:29:10 +02:00
\endverbatim
2013-10-24 17:08:58 +02:00
This should generate a single file called refman.pdf in the same directory.
2014-02-20 19:04:53 +01:00
\section compilation4 Sample program
2015-04-30 09:29:10 +02:00
In order to verify whether Concordia has been installed successfully, run the following minimal example. Prepare the file test.cpp with the following contents (remember to substitute <CONCORDIA_HOME> with the path of the unpacked Concordia package).
2014-02-20 19:04:53 +01:00
\verbatim
#include <concordia/concordia.hpp>
2015-04-30 09:29:10 +02:00
#include <iostream>
2014-02-20 19:04:53 +01:00
using namespace std;
int main() {
2015-04-30 09:29:10 +02:00
Concordia concordia("<CONCORDIA_HOME>/tests/resources/concordia-config/concordia.cfg");
2014-02-20 19:04:53 +01:00
cout << concordia.getVersion() << endl;
}
\endverbatim
Compilation method:
\verbatim
2015-04-30 09:29:10 +02:00
g++ test.cpp -lconcordia -lconfig++ -lboost_system -lboost_serialization -lboost_unit_test_framework -lboost_filesystem -lboost_program_options -lboost_iostreams -lboost_regex -lboost_locale -lutf8case
2014-02-20 19:04:53 +01:00
\endverbatim
2013-10-24 17:08:58 +02:00
*/