Concordia Installation & Build Manual ================================= This page describes how to compile, build and install Concordia library. ========= Requirements =============== Before you compile, make sure you have these installed: - g++ compiler - cmake - Boost library - Log4cpp - (optional) Doxygen - (optional) TeX ========= Ubuntu package list ======== 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 ========= 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): 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 ========= Build & installation procedure =========== To build and install Concordia, navigate to its home directory and issue the following commands: mkdir build cd build ../cmake.sh make make test sudo make install After that it is strongly recommended to run ldconfig to update linker info with newly installed shared libraries: sudo ldconfig -v ========= 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 cd doc/latex make This should generate a single file called refman.pdf in the same directory. ========= Sample program ============================ 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 with the path of the unpacked Concordia package). ========= test.cpp =================== #include #include using namespace std; int main() { Concordia concordia("/tests/resources/concordia-config/concordia.cfg"); cout << concordia.getVersion() << endl; } ====================================== Compilation method: 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