An error occurred while loading the file. Please try again.
-
Guillaume Blanchy authoreda98160ab
cmake_minimum_required(VERSION 3.15)
project(
EvalHyd
LANGUAGES CXX
VERSION 0.0.1
DESCRIPTION "Utility to evaluate streamflow predictions"
)
# ------------------------------------------------------------------------------
# dependencies
# ------------------------------------------------------------------------------
find_package(xtensor REQUIRED)
message(STATUS "Found xtensor: ${xtensor_INCLUDE_DIRS}/xtensor")
# ------------------------------------------------------------------------------
# build
# ------------------------------------------------------------------------------
# define evalhyd library
add_library(
evalhyd
INTERFACE
)
add_library(EvalHyd::evalhyd ALIAS evalhyd)
set_target_properties(
evalhyd
PROPERTIES
VISIBILITY_INLINES_HIDDEN ON
)
target_include_directories(
evalhyd
INTERFACE
$<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
)
target_link_libraries(
evalhyd
INTERFACE
xtensor
)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
target_compile_options(
evalhyd
INTERFACE
"/bigobj"
)
endif()
target_compile_features(
evalhyd
INTERFACE
cxx_std_14
)
# test suite
OPTION(EVALHYD_BUILD_TEST "configure and compile tests" ON)
if(EVALHYD_BUILD_TEST)
add_subdirectory(tests)
endif()
# ------------------------------------------------------------------------------
# installation
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
# ------------------------------------------------------------------------------
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
# install library file (.a/.so)
install(
TARGETS evalhyd
EXPORT evalhyd-targets
)
# install headers
install(
DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/evalhyd"
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
FILES_MATCHING PATTERN "*.hpp"
)
# generate target file
export(
EXPORT evalhyd-targets
FILE "${CMAKE_CURRENT_BINARY_DIR}/EvalHydTargets.cmake"
)
# install target file
install(
EXPORT evalhyd-targets
FILE "EvalHydTargets.cmake"
NAMESPACE EvalHyd::
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/EvalHyd
)
# generate config file
configure_package_config_file(
EvalHydConfig.cmake.in
"${CMAKE_CURRENT_BINARY_DIR}/EvalHydConfig.cmake"
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/EvalHyd
)
# install files
install(
FILES
"${CMAKE_CURRENT_BINARY_DIR}/EvalHydConfig.cmake"
DESTINATION
"${CMAKE_INSTALL_LIBDIR}/cmake/EvalHyd"
)