Wiki » History » Version 7

J. Wienke, 12/04/2010 12:27 AM

1 7 J. Wienke
h1. Prerequisites
2 1 J. Wienke
3 7 J. Wienke
h2. Dependencies
4 7 J. Wienke
5 4 J. Wienke
* Boost >= 1.38 (for hardy available in the gar-installer, 1.34.1 untested)
6 4 J. Wienke
* CMake (tested with 2.8)
7 4 J. Wienke
* optional
8 4 J. Wienke
** Doxygen for API generation
9 1 J. Wienke
** Lcov for code coverage analysis
10 7 J. Wienke
11 7 J. Wienke
h2. Supported Operating Systems and Compilers
12 7 J. Wienke
13 7 J. Wienke
* Linux (GCC 4.x)
14 7 J. Wienke
* Windows (MS Visual Studio 9 2008)
15 4 J. Wienke
16 4 J. Wienke
h1. Contents
17 4 J. Wienke
18 6 J. Wienke
h2. Logging Adapter
19 6 J. Wienke
20 6 J. Wienke
Several different logging systems exist with different advantages and dependencies. E.g. log4cxx heavily relies on APR which is a huge dependency to built i.e. for embedded systems like Nao. To decouple libraries from concrete logging implementations and their dependencies, RSC contains a flexible adaption layer that can utilize different logging mechanisms through one interface. If e.g. log4cxx is available, a client using the RSC logging system can use log4cxx through the provided interfaces. If no versatile logging system is available, RSC falls back on a simple console logging mechanism without any dependencies. Hence, client code does not need to be recompiled for changing the logging system.
21 6 J. Wienke
22 6 J. Wienke
Currently the linker call decides which logging mechanisms are available by linking their adapter shared libraries to the client. A plugin system is planned to remove the necessity of calling the linker.
23 6 J. Wienke
24 4 J. Wienke
h2. CMake Support Library
25 4 J. Wienke
26 1 J. Wienke
RSC contains different CMake scripts and macros which are generally useful. These include:
27 1 J. Wienke
* Find macros for various software packages
28 2 J. Wienke
* *EnableConverageReport*: Support for html code coverage reports on GCC using gcov and lcov.
29 1 J. Wienke
* *CheckInitMethod*: Checks which compiler-specific method can be used to execute before the main method begins. This is e.g. useful to install extensions
30 1 J. Wienke
* *InstallFilesRecursive*: A macro to install files while preserving their folder structure. The normal install macro of CMake copies all given files into a flat list at the target location.
31 1 J. Wienke
* *ParseArguments*: Helper to parse arguments to CMake macros and functions with UPPERCASE keywords to separate lists.
32 1 J. Wienke
33 5 J. Wienke
All CMake files are installed to @$prefix/share/cmake/Modules@ and available in the repository at source:/trunk/rsc/cmake.
34 4 J. Wienke
35 4 J. Wienke
h2. To be continued