From 0116375ed2f1807c16908bfc63bab001a7c17df2 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Fri, 15 Feb 2019 16:22:31 -0600 Subject: HDFFV-10703 revert pre-3.11 option --- CMakeInstallation.cmake | 13 ++++--- MANIFEST | 1 + config/cmake/hdf5-config-version.cmake.in | 58 +++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 config/cmake/hdf5-config-version.cmake.in diff --git a/CMakeInstallation.cmake b/CMakeInstallation.cmake index 6d05a58..7cf3450 100644 --- a/CMakeInstallation.cmake +++ b/CMakeInstallation.cmake @@ -104,10 +104,15 @@ endif () # Configure the hdf5-config-version .cmake file for the install directory #----------------------------------------------------------------------------- if (NOT HDF5_EXTERNALLY_CONFIGURED) - write_basic_package_version_file ( - ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake - VERSION ${HDF5_PACKAGE_VERSION} - COMPATIBILITY SameMinorVersion + # 3.11 or greater + #write_basic_package_version_file ( + # ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake + # VERSION ${HDF5_PACKAGE_VERSION} + # COMPATIBILITY SameMinorVersion + #) + configure_file ( + ${HDF_RESOURCES_DIR}/hdf5-config-version.cmake.in + ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake @ONLY ) install ( FILES ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake diff --git a/MANIFEST b/MANIFEST index 0b2026d..6c2018a 100644 --- a/MANIFEST +++ b/MANIFEST @@ -3240,6 +3240,7 @@ ./config/cmake/H5cxx_config.h.in ./config/cmake/H5pubconf.h.in ./config/cmake/hdf5-config.cmake.in +./config/cmake/hdf5-config-version.cmake.in ./config/cmake/HDFCompilerFlags.cmake ./config/cmake/HDF5_Process_Flex_Files.cmake ./config/cmake/HDF5Macros.cmake diff --git a/config/cmake/hdf5-config-version.cmake.in b/config/cmake/hdf5-config-version.cmake.in new file mode 100644 index 0000000..8e16725 --- /dev/null +++ b/config/cmake/hdf5-config-version.cmake.in @@ -0,0 +1,58 @@ +# +# Copyright by The HDF Group. +# All rights reserved. +# +# This file is part of HDF5. The full HDF5 copyright notice, including +# terms governing use, modification, and redistribution, is contained in +# the COPYING file, which can be found at the root of the source code +# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. +# If you do not have access to either file, you may request a copy from +# help@hdfgroup.org. +# +#----------------------------------------------------------------------------- +# HDF5 Version file for install directory +#----------------------------------------------------------------------------- +# +# 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, +# but only if the requested major.minor version is the same as the current one. +# The variable HDF5_VERSION_STRING must be set before calling configure_file(). + +set (PACKAGE_VERSION "@HDF5_VERSION_STRING@") + +if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" ) + set(PACKAGE_VERSION_COMPATIBLE FALSE) +else () + if ("${PACKAGE_FIND_VERSION_MAJOR}" STREQUAL "@H5_VERS_MAJOR@") + + # exact match for version @H5_VERS_MAJOR@.@H5_VERS_MINOR@ + if ("${PACKAGE_FIND_VERSION_MINOR}" STREQUAL "@H5_VERS_MINOR@") + + # compatible with any version @H5_VERS_MAJOR@.@H5_VERS_MINOR@.x + set (PACKAGE_VERSION_COMPATIBLE TRUE) + + if ("${PACKAGE_FIND_VERSION_PATCH}" STREQUAL "@H5_VERS_RELEASE@") + set (PACKAGE_VERSION_EXACT TRUE) + + if ("${PACKAGE_FIND_VERSION_TWEAK}" STREQUAL "@H5_VERS_SUBRELEASE@") + # not using this yet + endif () + endif () + else () + set (PACKAGE_VERSION_COMPATIBLE FALSE) + endif () + endif () +endif () + +# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "@CMAKE_SIZEOF_VOID_P@" STREQUAL "") + return() +endif () + +# check that the installed version has the same 32/64bit-ness as the one which is currently searching: +if(NOT "${CMAKE_SIZEOF_VOID_P}" STREQUAL "@CMAKE_SIZEOF_VOID_P@") + math(EXPR installedBits "@CMAKE_SIZEOF_VOID_P@ * 8") + set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") + set(PACKAGE_VERSION_UNSUITABLE TRUE) +endif () -- cgit v0.12