mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-10-10 23:21:29 +08:00
92 lines
4.4 KiB
CMake
92 lines
4.4 KiB
CMake
# This is a CMake version file for the Config-mode of find_package().
|
|
#
|
|
# The version constraint is compatible with the current package under the
|
|
# following conditions:
|
|
# - If a version range is specified, the package version falls within the
|
|
# range up to the supplied version components.
|
|
# - If a single version is specified, the current package version matches
|
|
# only the requested version components.
|
|
#
|
|
# Examples:
|
|
# - 3...5 matches 3.0.0.0 to <6.0.0.0
|
|
# - 3...<5 matches 3.0.0.0 to <5.0.0.0
|
|
# - 3...<5.1 matches 3.0.0.0 to <5.1.0.0
|
|
# - 3 matches 3.0.0.0 to <4.0.0.0
|
|
# - 3.4 matches 3.4.0.0 to <3.5.0.0
|
|
|
|
set(PACKAGE_VERSION "@CVF_VERSION@")
|
|
|
|
# Extract version components.
|
|
if ("${PACKAGE_VERSION}" MATCHES "^([0-9]+)(\\.([0-9]+))?(\\.([0-9]+))?(\\.([0-9]+))?$")
|
|
set(_PACKAGE_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
|
if (DEFINED CMAKE_MATCH_3)
|
|
set(_PACKAGE_VERSION_MINOR "${CMAKE_MATCH_3}")
|
|
else()
|
|
set(_PACKAGE_VERSION_MINOR "0")
|
|
endif()
|
|
if (DEFINED CMAKE_MATCH_5)
|
|
set(_PACKAGE_VERSION_PATCH "${CMAKE_MATCH_5}")
|
|
else()
|
|
set(_PACKAGE_VERSION_PATCH "0")
|
|
endif()
|
|
if (DEFINED CMAKE_MATCH_7)
|
|
set(_PACKAGE_VERSION_TWEAK "${CMAKE_MATCH_7}")
|
|
else()
|
|
set(_PACKAGE_VERSION_TWEAK "0")
|
|
endif()
|
|
set(_PACKAGE_VERSION_FULL "${_PACKAGE_VERSION_MAJOR}.${_PACKAGE_VERSION_MINOR}.${_PACKAGE_VERSION_PATCH}.${_PACKAGE_VERSION_TWEAK}")
|
|
endif()
|
|
|
|
if (PACKAGE_FIND_VERSION_RANGE)
|
|
# Create exclusive bound for the range maximum.
|
|
if (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE")
|
|
set(_PACKAGE_FIND_VERSION_UPPER "${PACKAGE_FIND_VERSION_MAX_MAJOR}.${PACKAGE_FIND_VERSION_MAX_MINOR}.${PACKAGE_FIND_VERSION_MAX_PATCH}.${PACKAGE_FIND_VERSION_MAX_TWEAK}")
|
|
else()
|
|
# Increment the last supplied version number.
|
|
if (PACKAGE_FIND_VERSION_MAX_COUNT EQUAL 1)
|
|
math(EXPR _PACKAGE_FIND_VERSION_MAX_MAJOR "${PACKAGE_FIND_VERSION_MAX_MAJOR}+1")
|
|
set(_PACKAGE_FIND_VERSION_UPPER "${_PACKAGE_FIND_VERSION_MAX_MAJOR}.0.0.0")
|
|
elseif (PACKAGE_FIND_VERSION_MAX_COUNT EQUAL 2)
|
|
math(EXPR _PACKAGE_FIND_VERSION_MAX_MINOR "${PACKAGE_FIND_VERSION_MAX_MINOR}+1")
|
|
set(_PACKAGE_FIND_VERSION_UPPER "${PACKAGE_FIND_VERSION_MAX_MAJOR}.${_PACKAGE_FIND_VERSION_MAX_MINOR}.0.0")
|
|
elseif (PACKAGE_FIND_VERSION_MAX_COUNT EQUAL 3)
|
|
math(EXPR _PACKAGE_FIND_VERSION_MAX_PATCH "${PACKAGE_FIND_VERSION_MAX_PATCH}+1")
|
|
set(_PACKAGE_FIND_VERSION_UPPER "${PACKAGE_FIND_VERSION_MAX_MAJOR}.${PACKAGE_FIND_VERSION_MAX_MINOR}.${_PACKAGE_FIND_VERSION_MAX_PATCH}.0")
|
|
elseif (PACKAGE_FIND_VERSION_MAX_COUNT EQUAL 4)
|
|
math(EXPR _PACKAGE_FIND_VERSION_MAX_TWEAK "${PACKAGE_FIND_VERSION_MAX_TWEAK}+1")
|
|
set(_PACKAGE_FIND_VERSION_UPPER "${PACKAGE_FIND_VERSION_MAX_MAJOR}.${PACKAGE_FIND_VERSION_MAX_MINOR}.${PACKAGE_FIND_VERSION_MAX_PATCH}.${_PACKAGE_FIND_VERSION_MAX_TWEAK}")
|
|
endif()
|
|
endif()
|
|
|
|
if ((_PACKAGE_VERSION_FULL VERSION_LESS PACKAGE_FIND_VERSION_MIN)
|
|
OR (_PACKAGE_VERSION_FULL VERSION_GREATER_EQUAL _PACKAGE_FIND_VERSION_UPPER))
|
|
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
|
else()
|
|
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
|
endif()
|
|
else()
|
|
# Create exclusive upper bound.
|
|
if (PACKAGE_FIND_VERSION_COUNT EQUAL 1)
|
|
math(EXPR _PACKAGE_FIND_VERSION_MAJOR "${PACKAGE_FIND_VERSION_MAJOR}+1")
|
|
set(_PACKAGE_FIND_VERSION_UPPER "${_PACKAGE_FIND_VERSION_MAJOR}.0.0.0")
|
|
elseif (PACKAGE_FIND_VERSION_COUNT EQUAL 2)
|
|
math(EXPR _PACKAGE_FIND_VERSION_MINOR "${PACKAGE_FIND_VERSION_MINOR}+1")
|
|
set(_PACKAGE_FIND_VERSION_UPPER "${PACKAGE_FIND_VERSION_MAJOR}.${_PACKAGE_FIND_VERSION_MINOR}.0.0")
|
|
elseif (PACKAGE_FIND_VERSION_COUNT EQUAL 3)
|
|
math(EXPR _PACKAGE_FIND_VERSION_PATCH "${PACKAGE_FIND_VERSION_PATCH}+1")
|
|
set(_PACKAGE_FIND_VERSION_UPPER "${PACKAGE_FIND_VERSION_MAJOR}.${PACKAGE_FIND_VERSION_MINOR}.${_PACKAGE_FIND_VERSION_PATCH}.0")
|
|
elseif (PACKAGE_FIND_VERSION_COUNT EQUAL 4)
|
|
math(EXPR _PACKAGE_FIND_VERSION_TWEAK "${PACKAGE_FIND_VERSION_TWEAK}+1")
|
|
set(_PACKAGE_FIND_VERSION_UPPER "${PACKAGE_FIND_VERSION_MAJOR}.${PACKAGE_FIND_VERSION_MINOR}.${PACKAGE_FIND_VERSION_PATCH}.${_PACKAGE_FIND_VERSION_TWEAK}")
|
|
endif()
|
|
|
|
if((_PACKAGE_VERSION_FULL VERSION_LESS PACKAGE_FIND_VERSION) OR (_PACKAGE_VERSION_FULL VERSION_GREATER_EQUAL _PACKAGE_FIND_VERSION_UPPER))
|
|
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()
|
|
endif()
|