Tango device server for the HDB++ Event Subscriber
- See the Tango documentation here for broader information about the HB++ archiving system and its integration into Tango Controls
- hdbpp-es 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 hdbpp-es
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 ../
...
Build dependencies:
- libhdbpp version 2 or greater. Not compatible with any version below this.
The build requires the libhdbpp project headers for building and shared library to link against. There is two methods to include this dependency:
- libhdbpp can be installed in either a standard or non-standard location and cmake flags used to locate it.
- Enabled the custom cmake flag FETCH_LIBHDBPP (see below) and cmake will download the project at configuration time and integrate it directly into the build. This is ideal for testing the project in isolation from a deployed system.
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 |
FETCH_LIBHDBPP | ON/OFF | OFF | Download and build against libhdbpp locally |
FETCH_LIBHDBPP_TAG | tag/branch | master | When FETCH_LIBHDBPP is enabled, this flag defines the tag/branch to download |
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 code is released under the GPL3 license and a copy of this license is provided with the code.