1# This is a basic version file for the Config-mode of find_package(). 2# It is used by write_basic_package_version_file() as input file for configure_file() 3# to create a version-file which can be installed along a config.cmake file. 4# 5# The created file sets PACKAGE_VERSION_EXACT if the current version string and 6# the requested version string are exactly the same and it sets 7# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. 8# The variable CVF_VERSION must be set before calling configure_file(). 9 10set(PACKAGE_VERSION "@CVF_VERSION@") 11 12if (PACKAGE_FIND_VERSION_RANGE) 13 # Package version must be in the requested version range 14 if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) 15 OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) 16 OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) 17 set(PACKAGE_VERSION_COMPATIBLE FALSE) 18 else() 19 set(PACKAGE_VERSION_COMPATIBLE TRUE) 20 endif() 21else() 22 if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) 23 set(PACKAGE_VERSION_COMPATIBLE FALSE) 24 else() 25 set(PACKAGE_VERSION_COMPATIBLE TRUE) 26 if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) 27 set(PACKAGE_VERSION_EXACT TRUE) 28 endif() 29 endif() 30endif() 31 32 33# if the installed project requested no architecture check, don't perform the check 34if("@CVF_ARCH_INDEPENDENT@") 35 return() 36endif() 37 38# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: 39if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "@CMAKE_SIZEOF_VOID_P@" STREQUAL "") 40 return() 41endif() 42 43# check that the installed version has the same 32/64bit-ness as the one which is currently searching: 44if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "@CMAKE_SIZEOF_VOID_P@") 45 math(EXPR installedBits "@CMAKE_SIZEOF_VOID_P@ * 8") 46 set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") 47 set(PACKAGE_VERSION_UNSUITABLE TRUE) 48endif() 49