From 173bb9aeaf460580325e183f0c0d5c9f5c3e9bae Mon Sep 17 00:00:00 2001
From: Martin Hierholzer <martin.hierholzer@desy.de>
Date: Thu, 4 Oct 2018 14:19:59 +0200
Subject: [PATCH] added missing <PROJECT_NAME>ConfigVersion.cmake in
 create_cmake_config_files macro

---
 cmake/PROJECT_NAMEConfigVersion.cmake.in.in | 30 +++++++++++++++++++++
 cmake/create_cmake_config_files.cmake       |  4 +++
 2 files changed, 34 insertions(+)
 create mode 100644 cmake/PROJECT_NAMEConfigVersion.cmake.in.in

diff --git a/cmake/PROJECT_NAMEConfigVersion.cmake.in.in b/cmake/PROJECT_NAMEConfigVersion.cmake.in.in
new file mode 100644
index 0000000..d449c1b
--- /dev/null
+++ b/cmake/PROJECT_NAMEConfigVersion.cmake.in.in
@@ -0,0 +1,30 @@
+#######################################################################################################################
+#
+# cmake module for finding @PROJECT_NAME@
+#
+# returns:
+#  PACKAGE_VERSION            = full provided version string
+#  PACKAGE_VERSION_EXACT      = true if version is exact match
+#  PACKAGE_VERSION_COMPATIBLE = true if version is compatible
+#
+#######################################################################################################################
+
+#######################################################################################################################
+#
+# IMPORTANT NOTE:
+#
+# DO NOT MODIFY THIS FILE inside a project. Instead update the project-template repository and pull the change from
+# there. Make sure to keep the file generic, since it will be used by other projects, too.
+#
+# If you have modified this file inside a project despite this warning, make sure to cherry-pick all your changes
+# into the project-template repository immediately.
+#
+#######################################################################################################################
+
+set(PACKAGE_VERSION @@PROJECT_NAME@_SOVERSION@)
+if(@@PROJECT_NAME@_SOVERSION@ VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
+  set(PACKAGE_VERSION_COMPATIBLE 1)
+  set(PACKAGE_VERSION_EXACT 1)
+elseif(@@PROJECT_NAME@_SOVERSION@ VERSION_GREATER "${PACKAGE_FIND_VERSION}")
+  set(PACKAGE_VERSION_COMPATIBLE 1)
+endif()
diff --git a/cmake/create_cmake_config_files.cmake b/cmake/create_cmake_config_files.cmake
index 3f02fa4..af2c07d 100644
--- a/cmake/create_cmake_config_files.cmake
+++ b/cmake/create_cmake_config_files.cmake
@@ -56,6 +56,8 @@ endforeach()
 # create the cmake find_package configuration file
 configure_file(cmake/PROJECT_NAMEConfig.cmake.in.in "${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake.in" @ONLY)
 configure_file(${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake.in "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" @ONLY)
+configure_file(cmake/PROJECT_NAMEConfigVersion.cmake.in.in "${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake.in" @ONLY)
+configure_file(${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake.in "${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" @ONLY)
 
 # create the shell script for standard make files
 configure_file(cmake/PROJECT_NAME-config.in.in "${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}-config.in" @ONLY)
@@ -64,6 +66,8 @@ configure_file(${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}-config.in "${PROJECT_
 # install cmake find_package configuration file
 install(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
   DESTINATION lib/cmake/${PROJECT_NAME} COMPONENT dev)
+install(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
+  DESTINATION lib/cmake/${PROJECT_NAME} COMPONENT dev)
 
 # install same cmake configuration file another time into the Modules cmake subdirectory for compatibility reasons
 install(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
-- 
GitLab