diff options
-rw-r--r-- | CMakeLists.txt | 4 | ||||
-rw-r--r-- | ECMConfigVersion.cmake.in | 19 |
2 files changed, 20 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 5a22f85c..d9a1405b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,9 +49,7 @@ configure_package_config_file(ECMConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/ECM PATH_VARS FIND_MODULES_INSTALL_DIR KDE_MODULES_INSTALL_DIR MODULES_INSTALL_DIR ) -write_basic_package_version_file( ${CMAKE_CURRENT_BINARY_DIR}/ECMConfigVersion.cmake - VERSION ${ECM_MAJOR_VERSION}.${ECM_MINOR_VERSION}.${ECM_PATCH_VERSION} - COMPATIBILITY AnyNewerVersion ) +configure_file(ECMConfigVersion.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/ECMConfigVersion.cmake @ONLY ) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ECMConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/ECMConfigVersion.cmake diff --git a/ECMConfigVersion.cmake.in b/ECMConfigVersion.cmake.in new file mode 100644 index 00000000..2bbb8f90 --- /dev/null +++ b/ECMConfigVersion.cmake.in @@ -0,0 +1,19 @@ +# This is a basic version file for the Config-mode of find_package(). +# It is used by write_basic_package_version_file() as input file for configure_file() +# to create a version-file which can be installed along a config.cmake file. +# +# The created file sets PACKAGE_VERSION_EXACT if the current version string and +# the requested version string are exactly the same and it sets +# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. +# The variable CVF_VERSION must be set before calling configure_file(). + +set(PACKAGE_VERSION "@ECM_VERSION@") + +if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" ) + set(PACKAGE_VERSION_COMPATIBLE FALSE) +else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if( "${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}") + set(PACKAGE_VERSION_EXACT TRUE) + endif() +endif() |