Skip to content

Refactor cmake

Niclas Esser requested to merge refactor-cmake into devel

The merge has the following features:

  • Native CUDA support with Cmake - CUDA as a first-class language in CMake
  • Install psrdada_cpp as CMake package -> allows to find_package(psrdada_cpp), the following libraries are installed:
    1. psrdada_cpp::psrdada_cpp
    2. psrdada_cpp::common (-DENABLE_SUBMODULES=ON)
    3. psrdada_cpp::dadaflow (-DENABLE_DADAFLOW=ON)
  • General cleanup of the CMake project
    1. prefer FetchContent over ExternalProject
    2. Libraries are linked using library::module (e.g. GTest::gtest) instead of -lgtest
    3. Remove unnecessary statements
    4. Consistent cmake prints
    5. More efficient include dependency strategy -> Only download from remote sources when CMake packages are not found
  • Minor issues resolved, causing errors when compiling in debug mode (e.g. psrdada_cpp::gated_spectrometer::OutputDataStream had no virtual deconstructor, #include <psrdada/header.h> correctly)
  • Internal dependency between googlebenchmark and googletest removed

Detected issues:

  • find_package(OpenMP) fails in build container for ubuntu20.04 -> reason unknown
  • psrdada_cpp::kernels::detect_and_accumulate tests are failing in DEBUG mode -> cudaLaunchKernel OutOfResources (TEST_P(detect_and_accumulate32bit, no_stride), TEST_P(detect_and_accumulate32bit, w_stride))
  • Dadaflow can not built under Ubuntu 20.04 - boost::json not available
Edited by Niclas Esser

Merge request reports

Loading