Skip to content

dlacoste-esrf/libhdbpp

 
 

Repository files navigation

libhdbpp

TangoControls License: LGPL v3 Download

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.

Documentation

  • 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.

Bugs Reports

Please file bug reports above in the issues section.

Building and Installation

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

pkg-config Settings

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 ../
...

Build Dependencies

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.

Toolchain Dependencies

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)

Project Flags

Flag Setting Default Description
ENABLE_CLANG ON/OFF OFF Clang code static analysis and cppcore guideline enforcement

Standard CMake Flags

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

License

The source code is released under the LGPL3 license and a copy of this license is provided with the code.

Packages

No packages published

Languages

  • C++ 63.8%
  • CMake 36.2%