Developers

Extended Compilation Guide

Epock has been designed with concerns of ease of use for users and developers. The number of dependencies are limited to two:

  • CMake
  • a recent C++ compiler (e.g. GCC version >=4.7)

Standard Installation

CMake has proven being a robust alternative to traditionnal configure script and is therefore more and more used around the world.

Once you untared Epock’s sources, we recommand an out-of-source compiling, i.e. compiling in a directory separated from the source code.

$ tar xf epock-1.0.0rc.tar.gz
$ cd epock-1.0.0rc
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install

If environment variables are set properly, cmake will find easily the compiler and appropriate libraries. If it is not the case, cmake configuration file can be easily updated using the ccmake tool.

Custom Installation

CMake internal variable can be set by two ways: using cmake or the pseudo-gui ccmake. For example, the Epock installation directory can be set directly in command-line:

$ cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/custom/directory

More informations about the CMake build system can be found at http://www.cmake.org/cmake/help/documentation.html.

Contributing

As Epock is an open-source project, developers are more that welcome to contribute to improve and enrich Epock’s features.

Getting the source code

Epock’ source code is hosted by Bitbucket.

We use the git version control manager to keep trace of Epock source code modifications. Contributers are strongly invited to use the same revision control system to make any modification to Epock’ source code. This will largely facilitate integration to Epock main repository.

Cloning Epock:

$ git clone https://bitbucket.org/epock/epock.git

Note also that a tarball containing the source code can be downloaded from the download section.

Why use C++11 standards?

The need for a recent C++ compiler is due to Epock implementation using the 2011 C++ standards. These standards include lots of exciting new features that make the code writing easier and therefore more understandable for a reader. We expect new developers to be more efficient writing new features for Epock by using C++11. Examples of nice C++11 new features can be found here.