summaryrefslogtreecommitdiff
path: root/share/cmake-3.10/Modules/WriteBasicConfigVersionFile.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'share/cmake-3.10/Modules/WriteBasicConfigVersionFile.cmake')
-rw-r--r--share/cmake-3.10/Modules/WriteBasicConfigVersionFile.cmake48
1 files changed, 48 insertions, 0 deletions
diff --git a/share/cmake-3.10/Modules/WriteBasicConfigVersionFile.cmake b/share/cmake-3.10/Modules/WriteBasicConfigVersionFile.cmake
new file mode 100644
index 0000000..7c9467a
--- /dev/null
+++ b/share/cmake-3.10/Modules/WriteBasicConfigVersionFile.cmake
@@ -0,0 +1,48 @@
+# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# WriteBasicConfigVersionFile
+# ---------------------------
+#
+#
+#
+# ::
+#
+# WRITE_BASIC_CONFIG_VERSION_FILE( filename
+# [VERSION major.minor.patch]
+# COMPATIBILITY (AnyNewerVersion|SameMajorVersion)
+# )
+#
+#
+#
+# Deprecated, see WRITE_BASIC_PACKAGE_VERSION_FILE(), it is identical.
+
+function(WRITE_BASIC_CONFIG_VERSION_FILE _filename)
+
+ set(options )
+ set(oneValueArgs VERSION COMPATIBILITY )
+ set(multiValueArgs )
+
+ cmake_parse_arguments(CVF "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ if(CVF_UNPARSED_ARGUMENTS)
+ message(FATAL_ERROR "Unknown keywords given to WRITE_BASIC_CONFIG_VERSION_FILE(): \"${CVF_UNPARSED_ARGUMENTS}\"")
+ endif()
+
+ set(versionTemplateFile "${CMAKE_ROOT}/Modules/BasicConfigVersion-${CVF_COMPATIBILITY}.cmake.in")
+ if(NOT EXISTS "${versionTemplateFile}")
+ message(FATAL_ERROR "Bad COMPATIBILITY value used for WRITE_BASIC_CONFIG_VERSION_FILE(): \"${CVF_COMPATIBILITY}\"")
+ endif()
+
+ if("${CVF_VERSION}" STREQUAL "")
+ if ("${PROJECT_VERSION}" STREQUAL "")
+ message(FATAL_ERROR "No VERSION specified for WRITE_BASIC_CONFIG_VERSION_FILE()")
+ else()
+ set(CVF_VERSION "${PROJECT_VERSION}")
+ endif()
+ endif()
+
+ configure_file("${versionTemplateFile}" "${_filename}" @ONLY)
+
+endfunction()