From 29485a63f474d1a12adaebcb1cf7952ba9832f32 Mon Sep 17 00:00:00 2001 From: Oliver Heidmann <oliver.heidmann@mpimet.mpg.de> Date: Mon, 3 Mar 2025 15:18:27 +0100 Subject: [PATCH] moved install logic into main file --- CMakeLists.txt | 30 ++++++++++++++++++++++++++++++ src/CMakeLists.txt | 21 --------------------- 2 files changed, 30 insertions(+), 21 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0f2fd15fc..2623232a7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -91,3 +91,33 @@ endif () if (BUILD_TESTING) add_subdirectory(tests) endif () + +# --- Installation +# packages required for installation +include(GNUInstallDirs) +include(CMakePackageConfigHelpers) + +install(TARGETS cdilib + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") + +get_target_property(cdi_install_files cdilib CDI_INSTALL_HEADERS) +install(FILES ${cdi_install_files} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") + +# -- create configuration files +configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/src/cmake/cdi/cdi-config.cmake.in" "${CMAKE_BINARY_DIR}/cmake/cdi-config.cmake" + INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/cdi") +write_basic_package_version_file( + "${CMAKE_BINARY_DIR}/cmake/cdi-config-version.cmake" + VERSION "${PACKAGE_VERSION}" + COMPATIBILITY SameMajorVersion) + +#Install CMake configuration files to +install( + FILES + "${CMAKE_BINARY_DIR}/cmake/cdi-config.cmake" + "${CMAKE_BINARY_DIR}/cmake/cdi-config-version.cmake" + DESTINATION + "${CMAKE_INSTALL_LIBDIR}/cmake/cdi") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1fc148b5e..e64b8de1a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -216,24 +216,3 @@ target_link_libraries(cdilib ${cdi_linked_libs}) target_compile_definitions(cdilib PRIVATE PACKAGE_NAME="${PROJECT_NAME}" VERSION="${CMAKE_PROJECT_VERSION}" ${cdi_compile_defs}) -include(GNUInstallDirs) -install(FILES cdi.h calendar.h cdi_datetime.h julian_date.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") -install(TARGETS cdilib - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") - -include(CMakePackageConfigHelpers) -configure_package_config_file( - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cdi/cdi-config.cmake.in" "${CMAKE_BINARY_DIR}/cmake/cdi-config.cmake" - INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/cdi") -write_basic_package_version_file( - "${CMAKE_BINARY_DIR}/cmake/cdi-config-version.cmake" - VERSION "${PACKAGE_VERSION}" - COMPATIBILITY SameMajorVersion) -install( - FILES - "${CMAKE_BINARY_DIR}/cmake/cdi-config.cmake" - "${CMAKE_BINARY_DIR}/cmake/cdi-config-version.cmake" - DESTINATION - "${CMAKE_INSTALL_LIBDIR}/cmake/cdi") -- GitLab