Interface library for the HDB++ archiving system. libhdbpp provides an abstract means to archive data events to a Cassandra database, MySQL database, or potentially other database backends.
- See the Tango documentation here for broader information about the HB++ archiving system and its integration into Tango Controls
- libhdbpp CHANGELOG.md contains the latest changes both released and in development.
Please file bug reports above in the issues section.
In its simplest form, clone the repository and assuming a standard install for all dependencies:
cd libhdbpp
mkdir build
cd build
cmake ../
make
make install
The build system uses pkg-config to find some dependencies, for example Tango. If Tango is not installed to a standard location, set PKG_CONFIG_PATH, i.e.
export PKG_CONFIG_PATH=/non/standard/tango/install/location
cmake ../
...
The pkg-config path can also be set with the cmake argument CMAKE_PREFIX_PATH. This can be set on the command line at configuration time, i.e.:
...
cmake -DCMAKE_PREFIX_PATH=/non/standard/tango/install/location ../
...
Ensure the development version of the dependencies are installed. These are as follows:
- Tango Controls 9 or higher development headers and libraries
- omniORB release 4 or higher development headers and libraries
- libzmq3-dev or libzmq5-dev
If they have not been installed to a standard location, then use the pkg-config settings above to inform the build where they are located.
If wishing to build the project, ensure the following dependencies are met:
- CMake 3.6 or higher
- C++11 compatible compiler (Tango dependency requires CX11)
Flag | Setting | Default | Description |
---|---|---|---|
ENABLE_CLANG | ON/OFF | OFF | Clang code static analysis and cppcore guideline enforcement |
The build system is CMake therefore standard CMake flags can be used to influence the build and installation process. The following is a list of common useful CMake flags and their use:
Flag | Use |
---|---|
CMAKE_INSTALL_PREFIX | Standard CMake flag to modify the install prefix. |
CMAKE_INCLUDE_PATH | Standard CMake flag to add include paths to the search path. |
CMAKE_LIBRARY_PATH | Standard CMake flag to add paths to the library search path |
The source code is released under the LGPL3 license and a copy of this license is provided with the code.