diff --git a/cmake/set_version_numbers.cmake b/cmake/set_version_numbers.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..f6c1c9fd7f82b1e7810a62d4d2809a2c8398e625
--- /dev/null
+++ b/cmake/set_version_numbers.cmake
@@ -0,0 +1,37 @@
+#######################################################################################################################
+# set_version_numbers.cmake
+#
+# Set the version numbers for a package in the format needed by other scripts of the project-template
+#
+# Expects the following input variables:
+#   ${PROJECT_NAME}_MAJOR_VERSION - major version number
+#   ${PROJECT_NAME}_MINOR_VERSION - minor version number
+#   ${PROJECT_NAME}_PATCH_VERSION - patch number
+#
+# Optional environment variables:
+#   $PROJECT_BUILDVERSION - additional build version number for the shared object version number (e.g. "xenial1")
+#
+#######################################################################################################################
+
+#######################################################################################################################
+#
+# 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(${PROJECT_NAME}_VERSION ${${PROJECT_NAME}_MAJOR_VERSION}.${${PROJECT_NAME}_MINOR_VERSION}.${${PROJECT_NAME}_PATCH_VERSION})
+
+set(${PROJECT_NAME}_SOVERSION ${${PROJECT_NAME}_MAJOR_VERSION}.${${PROJECT_NAME}_MINOR_VERSION})
+set(${PROJECT_NAME}_BUILDVERSION $ENV{PROJECT_BUILDVERSION})
+if( ${PROJECT_NAME}_BUILDVERSION )
+  set(${PROJECT_NAME}_SOVERSION "${${PROJECT_NAME}_SOVERSION}${${PROJECT_NAME}_BUILDVERSION}")
+endif( ${PROJECT_NAME}_BUILDVERSION )
+
+set(${PROJECT_NAME}_FULL_LIBRARY_VERSION ${${PROJECT_NAME}_SOVERSION}.${${PROJECT_NAME}_PATCH_VERSION})
+