From 67c60efb69bed95b12f21c167d740ba80c699b0c Mon Sep 17 00:00:00 2001
From: Stephan Schulz <stephan.schulz-x2q@rub.de>
Date: Mon, 18 Jan 2021 15:07:35 +0100
Subject: [PATCH] generate package config

---
 CMakeLists.txt  | 18 ++++++++++++++++--
 Config.cmake.in | 10 ++++++++++
 2 files changed, 26 insertions(+), 2 deletions(-)
 create mode 100644 Config.cmake.in

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b69b8aa..77f5d57 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -117,7 +117,8 @@ if(CM_ALL_AUTO_DOC)
     add_subdirectory("docs")
 endif(CM_ALL_AUTO_DOC)
 
-# ProjectConfig
+
+# Export targets and create package
 
 install(EXPORT ALLTargets
     NAMESPACE ALL::
@@ -125,6 +126,19 @@ install(EXPORT ALLTargets
     DESTINATION lib/cmake/ALL
     )
 
-#export(PACKAGE ALL)
+include(CMakePackageConfigHelpers)
+configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
+    "${CMAKE_CURRENT_BINARY_DIR}/ALLConfig.cmake"
+    INSTALL_DESTINATION lib/cmake/ALL
+    )
+write_basic_package_version_file(
+    "${CMAKE_CURRENT_BINARY_DIR}/ALLConfigVersion.cmake"
+    VERSION "${ALL_VERSION}"
+    COMPATIBILITY SameMajorVersion)
+install(FILES
+    "${CMAKE_CURRENT_BINARY_DIR}/ALLConfig.cmake"
+    "${CMAKE_CURRENT_BINARY_DIR}/ALLConfigVersion.cmake"
+    DESTINATION lib/cmake/ALL)
+
 
 # vim: sw=4 ts=4 et
diff --git a/Config.cmake.in b/Config.cmake.in
new file mode 100644
index 0000000..4ad3f79
--- /dev/null
+++ b/Config.cmake.in
@@ -0,0 +1,10 @@
+@PACKAGE_INIT@
+
+include(CMakeFindDependencyMacro)
+find_dependency(MPI)
+#todo(s.schulz): Somehow propagate the VTK switch...
+#find_dependency(VTK)
+
+include("${CMAKE_CURRENT_LIST_DIR}/ALLTargets.cmake")
+
+check_required_components(ALL)
-- 
GitLab