april  1.0.0
...
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Building the project from source

The project in all its parts depends on the Qt framework. Versions starting with 4.8 are known to work both in Windows and in Ubuntu. For a painless experience we also recomend using Qt Creator.

Todo:
In future versions the project (or at least core library) may be decoupled from Qt libraries for greather flexibility.

The project uses qmake to generate platform-specific make files.

Todo:
In future versions the project may provide alternative build systems like CMake.

Getting the code

The source code is hosted both at Sourceforge and at GitHub as a git repository. To retrieve it use either one of the comands below:

git clone git://git.code.sf.net/p/aprilproject/code aprilproject-code
git clone git://github.com/TNick/april.git aprilproject-code

In the following paragraphs $ROOT may be replaced by the aprilproject-code directory.

Preparing the code

There are two files that need to be created from their templates so that everything runs smoothly:

  • april_config.h from april_config.h.in in $ROOT/april directory; this is the configuration file that gets included into main header. Note that the scripts that prepare distributions simply copy the template file, so its content is appropriate for a release buid. See instructions inside april_config.h.in for what can be defined and what effect it has.
  • local_defs.pri from local_defs.pri.template in $ROOT/tools/Qt directory; you may use this file to indicate location of the include files and libraries for dependencies (see below). This is handy in Windows.

Dependencies

Apart from Qt framework that was already mentioned the project also uses:

  • libbbb - a library with common code easy to build; you will need to download and build this;
  • property browser is already part of the source tree and used in AprilDream application AprilDream; you don't have to do anything special, is listed here only for reference;
  • argtable library is used for argument parsing in the applications; you will need to download and build this;
Todo:
A script will be provided to do the tasks related to source initialisation in a future version

Building using Qt Creator

Open the file $ROOT/tools/Qt/april.pro in Qt Creator and direct it to place the build files in a location at your choice. To keep the source directory clean (and avoid useless information in git status) you can choose a directory at the same level as $ROOT.

Now simply hit the build button in the bottom-right part of the IDE.

Running the executables

In order to run the executables certain dynamic libraries listed below must be available to the executables. In Unix-like systems this may be easier because the search paths are well defined. In Windows, however, you might need to copy the libraries inside same directory.

Ubuntu

Debug builds

Todo:
list of libraries that need to be found in Windows for Debug builds

Release builds

Todo:
list of libraries that need to be found in Windows for Release builds

Ubuntu

Debug builds

Todo:
list of libraries that need to be found in Ubuntu for Debug builds

Release builds

Todo:
list of libraries that need to be found in Ubuntu for Release builds

Packaging for distribution

Ubuntu

$ROOT/tools/nsis contains a script that is used in official builds for Windows.

Ubuntu

$ROOT/tools/scripts contains a script that is used in official builds for Ubuntu.




AprilDream application Documentation root Saving and loading