Skip to content
Snippets Groups Projects
Select Git revision
  • main default
  • clear_up_interface
  • use-tango-cmake-modules
  • tango-include-path
  • 2.2.0
  • 2.1.0
  • v2.0.0
  • v1.0.1
  • v1.0.0
  • release_09
  • release_08
  • release_07
  • release_06
  • release_05
  • release_04
  • release_03
16 results

libhdbpp

  • Clone with SSH
  • Clone with HTTPS
  • libhdbpp

    TangoControls License: LGPL v3

    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.

    Keeping Up-to-date

    This repository uses git submodules.

    • Ensure that you use --recurse-submodules when cloning:

      git clone --recurse-submodules ...

    • Ensure that updates to git submodules are pulled:

      git pull --recurse-submodules

    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:

    • cppTango 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++14 compatible compiler (cppTango dependency requires C++14)

    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.