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