wrap write_basic_config_version_file as write_basic_package_version_file()
So the name fits better with configure_package_config_file(), as discussed on the mailing list. Adapt the documentation accordingly. Alex
This commit is contained in:
parent
204f5d443c
commit
6973e2d5a8
|
@ -58,7 +58,32 @@
|
||||||
# When using the NO_SET_AND_CHECK_MACRO, this macro is not generated into the
|
# When using the NO_SET_AND_CHECK_MACRO, this macro is not generated into the
|
||||||
# FooConfig.cmake file.
|
# FooConfig.cmake file.
|
||||||
#
|
#
|
||||||
# Example:
|
# For an example see below the documentation for WRITE_BASIC_PACKAGE_VERSION_FILE().
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# WRITE_BASIC_PACKAGE_VERSION_FILE( filename VERSION major.minor.patch COMPATIBILITY (AnyNewerVersion|SameMajorVersion) )
|
||||||
|
#
|
||||||
|
# Writes a file for use as <package>ConfigVersion.cmake file to <filename>.
|
||||||
|
# See the documentation of FIND_PACKAGE() for details on this.
|
||||||
|
# filename is the output filename, it should be in the build tree.
|
||||||
|
# major.minor.patch is the version number of the project to be installed
|
||||||
|
# The COMPATIBILITY mode AnyNewerVersion means that the installed package version
|
||||||
|
# will be considered compatible if it is newer or exactly the same as the requested version.
|
||||||
|
# If SameMajorVersion is used instead, then the behaviour differs from AnyNewerVersion
|
||||||
|
# in that the major version number must be the same as requested, e.g. version 2.0 will
|
||||||
|
# not be considered compatible if 1.0 is requested.
|
||||||
|
# If your project has more elaborated version matching rules, you will need to write your
|
||||||
|
# own custom ConfigVersion.cmake file instead of using this macro.
|
||||||
|
#
|
||||||
|
# Internally, this macro executes configure_file() to create the resulting
|
||||||
|
# version file. Depending on the COMPATIBLITY, either the file
|
||||||
|
# BasicConfigVersion-SameMajorVersion.cmake.in or BasicConfigVersion-AnyNewerVersion.cmake.in
|
||||||
|
# is used. Please note that these two files are internal to CMake and you should
|
||||||
|
# not call configure_file() on them yourself, but they can be used as starting
|
||||||
|
# point to create more sophisticted custom ConfigVersion.cmake files.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Example using both configure_package_config_file() and write_basic_package_version_file():
|
||||||
# CMakeLists.txt:
|
# CMakeLists.txt:
|
||||||
# set(INCLUDE_INSTALL_DIR include/ ... CACHE )
|
# set(INCLUDE_INSTALL_DIR include/ ... CACHE )
|
||||||
# set(LIB_INSTALL_DIR lib/ ... CACHE )
|
# set(LIB_INSTALL_DIR lib/ ... CACHE )
|
||||||
|
@ -68,9 +93,13 @@
|
||||||
# configure_package_config_file(FooConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake
|
# configure_package_config_file(FooConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake
|
||||||
# INSTALL_DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake
|
# INSTALL_DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake
|
||||||
# PATH_VARS INCLUDE_INSTALL_DIR SYSCONFIG_INSTALL_DIR)
|
# PATH_VARS INCLUDE_INSTALL_DIR SYSCONFIG_INSTALL_DIR)
|
||||||
# install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake )
|
# write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake
|
||||||
|
# VERSION 1.2.3
|
||||||
|
# COMPATIBILITY SameMajorVersion )
|
||||||
|
# install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake
|
||||||
|
# DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake )
|
||||||
#
|
#
|
||||||
# FooConfig.cmake.in:
|
# With a FooConfig.cmake.in:
|
||||||
# set(FOO_VERSION x.y.z)
|
# set(FOO_VERSION x.y.z)
|
||||||
# ...
|
# ...
|
||||||
# @PACKAGE_INIT@
|
# @PACKAGE_INIT@
|
||||||
|
@ -94,6 +123,12 @@
|
||||||
|
|
||||||
include(CMakeParseArguments)
|
include(CMakeParseArguments)
|
||||||
|
|
||||||
|
include(WriteBasicConfigVersionFile)
|
||||||
|
|
||||||
|
macro(WRITE_BASIC_PACKAGE_VERSION_FILE)
|
||||||
|
write_basic_config_version_file(${ARGN})
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
|
||||||
function(CONFIGURE_PACKAGE_CONFIG_FILE _inputFile _outputFile)
|
function(CONFIGURE_PACKAGE_CONFIG_FILE _inputFile _outputFile)
|
||||||
set(options NO_SET_AND_CHECK_MACRO)
|
set(options NO_SET_AND_CHECK_MACRO)
|
||||||
|
|
|
@ -1,31 +1,6 @@
|
||||||
# WRITE_BASIC_CONFIG_VERSION_FILE( filename VERSION major.minor.patch COMPATIBILITY (AnyNewerVersion|SameMajorVersion) )
|
# WRITE_BASIC_CONFIG_VERSION_FILE( filename VERSION major.minor.patch COMPATIBILITY (AnyNewerVersion|SameMajorVersion) )
|
||||||
#
|
#
|
||||||
# Writes a file for use as <package>ConfigVersion.cmake file to <filename>.
|
# Deprecated, see WRITE_BASIC_PACKAGE_VERSION_FILE(), it is identical.
|
||||||
# See the documentation of FIND_PACKAGE() for details on this.
|
|
||||||
# filename is the output filename, it should be in the build tree.
|
|
||||||
# major.minor.patch is the version number of the project to be installed
|
|
||||||
# The COMPATIBILITY mode AnyNewerVersion means that the installed package version
|
|
||||||
# will be considered compatible if it is newer or exactly the same as the requested version.
|
|
||||||
# If SameMajorVersion is used instead, then the behaviour differs from AnyNewerVersion
|
|
||||||
# in that the major version number must be the same as requested, e.g. version 2.0 will
|
|
||||||
# not be considered compatible if 1.0 is requested.
|
|
||||||
# If your project has more elaborated version matching rules, you will need to write your
|
|
||||||
# own custom ConfigVersion.cmake file instead of using this macro.
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# write_basic_config_version_file(${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake
|
|
||||||
# VERSION 1.2.3
|
|
||||||
# COMPATIBILITY SameMajorVersion )
|
|
||||||
# install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake
|
|
||||||
# ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake
|
|
||||||
# DESTINATION lib/cmake/Foo )
|
|
||||||
#
|
|
||||||
# Internally, this macro executes configure_file() to create the resulting
|
|
||||||
# version file. Depending on the COMPATIBLITY, either the file
|
|
||||||
# BasicConfigVersion-SameMajorVersion.cmake.in or BasicConfigVersion-AnyNewerVersion.cmake.in
|
|
||||||
# is used. Please note that these two files are internal to CMake and you should
|
|
||||||
# not call configure_file() on them yourself, but they can be used as starting
|
|
||||||
# point to create more sophisticted custom ConfigVersion.cmake files.
|
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Copyright 2008-2011 Alexander Neundorf, <neundorf@kde.org>
|
# Copyright 2008-2011 Alexander Neundorf, <neundorf@kde.org>
|
||||||
|
|
|
@ -192,7 +192,7 @@ void cmFindPackageCommand::GenerateDocumentation()
|
||||||
"If no such version file is available then the configuration file "
|
"If no such version file is available then the configuration file "
|
||||||
"is assumed to not be compatible with any requested version. "
|
"is assumed to not be compatible with any requested version. "
|
||||||
"A basic version file containing generic version matching code can be "
|
"A basic version file containing generic version matching code can be "
|
||||||
"created using the macro write_basic_config_version_file(), see its "
|
"created using the macro write_basic_package_version_file(), see its "
|
||||||
"documentation for more details. "
|
"documentation for more details. "
|
||||||
"When a version file is found it is loaded to check the requested "
|
"When a version file is found it is loaded to check the requested "
|
||||||
"version number. "
|
"version number. "
|
||||||
|
|
|
@ -335,11 +335,9 @@ endif()
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Test write_basic_config_version_file().
|
# Test write_basic_config_version_file().
|
||||||
|
|
||||||
include(WriteBasicConfigVersionFile)
|
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/Foo123ConfigVersion.cmake
|
||||||
|
VERSION 1.2.3
|
||||||
write_basic_config_version_file(${CMAKE_CURRENT_BINARY_DIR}/Foo123ConfigVersion.cmake
|
COMPATIBILITY AnyNewerVersion)
|
||||||
VERSION 1.2.3
|
|
||||||
COMPATIBILITY AnyNewerVersion)
|
|
||||||
|
|
||||||
set(PACKAGE_FIND_VERSION 2.3.4)
|
set(PACKAGE_FIND_VERSION 2.3.4)
|
||||||
include(${CMAKE_CURRENT_BINARY_DIR}/Foo123ConfigVersion.cmake)
|
include(${CMAKE_CURRENT_BINARY_DIR}/Foo123ConfigVersion.cmake)
|
||||||
|
@ -373,6 +371,7 @@ endif()
|
||||||
|
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
|
include(WriteBasicConfigVersionFile)
|
||||||
|
|
||||||
write_basic_config_version_file(${CMAKE_CURRENT_BINARY_DIR}/Boo123ConfigVersion.cmake
|
write_basic_config_version_file(${CMAKE_CURRENT_BINARY_DIR}/Boo123ConfigVersion.cmake
|
||||||
VERSION 1.2.3
|
VERSION 1.2.3
|
||||||
|
|
Loading…
Reference in New Issue