# Eigen # ----- find_package(Eigen3 REQUIRED) # This module comes from the Eigen3 Package message(STATUS "Eigen3 version ${EIGEN3_VERSION}") # optional find_package(Eigen3Unsupported) add_library(Eigen::eigen INTERFACE IMPORTED) set_property(TARGET Eigen::eigen PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${EIGEN3_INCLUDE_DIR}) # HDF5 # ---- # HDF5 is required and used by all modules for output # # Only the C serial API is used find_package(HDF5 REQUIRED COMPONENTS C) add_library(HDF5::hdf5 UNKNOWN IMPORTED) set_property(TARGET HDF5::hdf5 PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${HDF5_INCLUDE_DIRS} ) set_property(TARGET HDF5::hdf5 PROPERTY IMPORTED_LOCATION ${HDF5_C_LIBRARY_hdf5} ) # Yaml-cpp # -------- # YAML-cpp library is required and used by all modules for configuration # and data storage # YAML-CPP does not provide a CMake find module. # Instead, we use pkgconfig include(FindPkgConfig) pkg_check_modules(YAML REQUIRED IMPORTED_TARGET yaml-cpp>=0.5) # cmake < 3.6 if(NOT TARGET PkgConfig::YAML) add_library(PkgConfig::YAML UNKNOWN IMPORTED) set_property(TARGET PkgConfig::YAML PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${YAML_INCLUDE_DIRS} ) set_property(TARGET PkgConfig::YAML PROPERTY IMPORTED_LOCATION "${YAML_LIBRARY_DIRS}/lib${YAML_LIBRARIES}.so" ) endif()