Files
hdk-grid/CMakeLists.txt
BadQuanta 81ecc87d39 Progress.
2026-05-13 19:49:14 +00:00

69 lines
1.7 KiB
CMake

cmake_minimum_required(VERSION 3.20)
project(hdk-grid
VERSION 0.0.1
LANGUAGES CXX
)
# Note: The src/ directory contains Doxygen documentation-only .cpp files.
# This is a header-only library; src/ files are not compiled into any targets.
option(HDK_GRID_TESTS "Build hdk-grid tests" ${HDK_TESTS})
# No examples for grid at the moment
add_library(hdk-grid INTERFACE)
target_compile_features(hdk-grid INTERFACE cxx_std_17)
target_include_directories(
hdk-grid
INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
)
if(HDK_GRID_TESTS)
add_subdirectory(test)
endif()
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
install(TARGETS hdk-grid
EXPORT hdk-gridTargets
)
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
install(EXPORT hdk-gridTargets
FILE hdk-gridTargets.cmake
NAMESPACE hdk::
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hdk-grid
)
configure_package_config_file(
${CMAKE_CURRENT_SOURCE_DIR}/cmake/hdk-gridConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/hdk-gridConfig.cmake
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hdk-grid
)
write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/hdk-gridConfigVersion.cmake
VERSION ${PROJECT_VERSION}
COMPATIBILITY SameMajorVersion
)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/hdk-gridConfig.cmake
${CMAKE_CURRENT_BINARY_DIR}/hdk-gridConfigVersion.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hdk-grid
)
# TODO: Link to dependencies if we need but keep them minimal and optional.
# DIRS important for coverage filtering
list(APPEND HDK_COVERAGE_DIRS
${CMAKE_CURRENT_SOURCE_DIR}/include
)