# show the effect of the exclusion or inclusion of the upper endpoint

set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}")

set (VersionRange_SPECIFIED_VERSION_COMPLETE 1.2.3.4...<2.3.4.5)
set (VersionRange_SPECIFIED_VERSION_RANGE 1.2.3.4...<2.3.4.5)
set (VersionRange_SPECIFIED_VERSION_MIN 1.2.3.4)
set (VersionRange_SPECIFIED_VERSION_MIN_MAJOR 1)
set (VersionRange_SPECIFIED_VERSION_MIN_MINOR 2)
set (VersionRange_SPECIFIED_VERSION_MIN_PATCH 3)
set (VersionRange_SPECIFIED_VERSION_MIN_TWEAK 4)
set (VersionRange_SPECIFIED_VERSION_MAX 2.3.4.5)
set (VersionRange_SPECIFIED_VERSION_MAX_MAJOR 2)
set (VersionRange_SPECIFIED_VERSION_MAX_MINOR 3)
set (VersionRange_SPECIFIED_VERSION_MAX_PATCH 4)
set (VersionRange_SPECIFIED_VERSION_MAX_TWEAK 5)

find_package (VersionRange ${VersionRange_SPECIFIED_VERSION_RANGE})

if (VersionRange_FOUND)
  message (FATAL_ERROR "Package VersionRange found unexpectedly.")
endif()


set (VersionRange_SPECIFIED_VERSION_COMPLETE 1.2.3.4...2.3.4.5)
set (VersionRange_SPECIFIED_VERSION_RANGE 1.2.3.4...2.3.4.5)

find_package (VersionRange ${VersionRange_SPECIFIED_VERSION_RANGE})

if (NOT VersionRange_FOUND)
  message (FATAL_ERROR "Package VersionRange not found.")
endif()

if (NOT VersionRange_VERSION VERSION_EQUAL "2.3.4.5")
  message (SEND_ERROR "Wrong version : ${VersionRange_VERSION}")
endif()
if (NOT VersionRange_VERSION_MAJOR VERSION_EQUAL "2")
  message (SEND_ERROR "Wrong major version : ${VersionRange_VERSION_MAJOR}")
endif()
if (NOT VersionRange_VERSION_MINOR VERSION_EQUAL "3")
  message (SEND_ERROR "Wrong minor version : ${VersionRange_VERSION_MINOR}")
endif()
if (NOT VersionRange_VERSION_PATCH VERSION_EQUAL "4")
  message (SEND_ERROR "Wrong patch version : ${VersionRange_VERSION_PATCH}")
endif()
if (NOT VersionRange_VERSION_TWEAK VERSION_EQUAL "5")
  message (SEND_ERROR "Wrong tweak version : ${VersionRange_VERSION_TWEAK}")
endif()