From fa6d19125c5b1f43f30eb84ffdf29c5195ca1362 Mon Sep 17 00:00:00 2001 From: Thibault Hallouin <thibault.hallouin@inrae.fr> Date: Tue, 13 Dec 2022 11:09:47 +0100 Subject: [PATCH] add installation instructions with CMake --- CMakeLists.txt | 45 +++++++++++++++++++++++++++++++++++++++++- EvalHydConfig.cmake.in | 10 ++++++++++ README.md | 6 ++++++ 3 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 EvalHydConfig.cmake.in diff --git a/CMakeLists.txt b/CMakeLists.txt index b261b60..049111a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -76,4 +76,47 @@ endif() # installation # ------------------------------------------------------------------------------ -# TODO +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" +) diff --git a/EvalHydConfig.cmake.in b/EvalHydConfig.cmake.in new file mode 100644 index 0000000..ab97dae --- /dev/null +++ b/EvalHydConfig.cmake.in @@ -0,0 +1,10 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) + +# find public dependencies +find_dependency(xtensor @xtensor_VERSION@) + +if(NOT TARGET EvalHyd::evalhyd) + include("${CMAKE_CURRENT_LIST_DIR}/EvalHydTargets.cmake") +endif() diff --git a/README.md b/README.md index ec9c8ea..6108d5e 100644 --- a/README.md +++ b/README.md @@ -20,3 +20,9 @@ Run tests with: ```shell ./build/tests/evalhyd_tests ``` + +## How to install + +```shell +cmake --install build/ --prefix <path> +``` -- GitLab