Installation

Dependencies

This project depends on:

  • Any C++14 compiler

  • casacore > 3.3.0 (with 64-bit table support)

  • arrow >= 1.0.0-SNAPSHOT with plasma support

Compiling

This is a cmake-based project, so it can be built as any standard cmake project:

$ git clone https://gitlab.com/ska-telescope/plasma-storage-manager
$ cd plasma-storage-manager
$ cmake . -B build
# cmake --build build

Some of the most relevant cmake variables (passed on the first cmake invocation via -Dvariable=value) used for compiling are:

  • CASACORE_ROOT_DIR: Root of arbitrary casacore installations in case one is used

  • Arrow_DIR: directory containing the cmake configuration exported by Apache Arrow (usually under lib/cmake/arrow in the arrow installation area).

  • Plasma_DIR: directory containing the cmake configuration exported by Apache Plasma (usually under lib/cmake/arrow in the arrow installation area).

  • CMAKE_CXX_COMPILER: The C++ compiler to use.

  • CMAKE_CXX_FLAGS: Extra C++ compilation flags.

  • CMAKE_BUILD_TYPE: The type of build to produce, one of Debug, Release and RelWithDebInfo.

  • BUILD_TESTING: Whether to build unit tests or not, defaults to ON.

Testing

A set of unit tests is included and built by default. To execute them do:

$ cmake --build build --target test

The unit tests require the plasma-store-server executable (part of a standard C++ Arrow Plasma installation) to be visible in the path.

If you want further control on ctest’s command line flags you can do:

$ cmake --build build --target test -- ARGS="<ctest command line flags>"

or alternatively:

$ cd build/
$ ctest <ctest command line flags>