| | 1 | == Compiling FACT++ == |
| | 2 | |
| | 3 | First you need to get FACT++ from the svn-repository |
| | 4 | |
| | 5 | {{{svn checkout https://www.fact-project.org/svn/trunk/FACT++}}} |
| | 6 | |
| | 7 | Now create a new subdirectory |
| | 8 | |
| | 9 | {{{ |
| | 10 | cd FACT++ |
| | 11 | mkdir build |
| | 12 | }}} |
| | 13 | |
| | 14 | And call {{{cmake}}} from there |
| | 15 | |
| | 16 | {{{ |
| | 17 | cmake .. |
| | 18 | }}} |
| | 19 | |
| | 20 | to compile with clang, you might want to do |
| | 21 | {{{ |
| | 22 | cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ .. |
| | 23 | }}} |
| | 24 | |
| | 25 | Note that not all versions of clang are compatible with all version of the boost-libraries. |
| | 26 | |
| | 27 | If you only want to compile the basic tools (like rootifysql) you can add {{{-DTOOLS_ONLY=1}}} when calling {{{cmake}}}. |
| | 28 | |
| | 29 | If a package is missing, you will see an error which looks like this |
| | 30 | |
| | 31 | {{{ |
| | 32 | CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message): |
| | 33 | Could NOT find Nova (missing: NOVA_LIBRARY NOVA_INCLUDE_DIR) |
| | 34 | Call Stack (most recent call first): |
| | 35 | /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE) |
| | 36 | cmake/FindNova.cmake:11 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) |
| | 37 | CMakeLists.txt:131 (FIND_PACKAGE) |
| | 38 | }}} |
| | 39 | |
| | 40 | It is a bit tricky to find out which package is missing at the moment. In this case, it is the development package of the nova library (libnova-dev). |
| | 41 | |
| | 42 | Then call {{{make}}}. |
| | 43 | |
| | 44 | == Packaging FACT++ == |
| | 45 | |
| | 46 | For the tool-set, you can build a archive file and Debian packages by {{{make package}}}. The Debian package can then be installed with {{{dpkg -i fact++-YYWWDDHH.deb}}} while YYWWDDHH is the version number compiled from the time when cmake was called. |
| | 47 | |