Path: blob/master/Tests/CMakeOnly/MajorVersionSelection/CMakeLists.txt
3153 views
cmake_minimum_required(VERSION 3.10)12if (NOT MAJOR_TEST_MODULE OR NOT MAJOR_TEST_VERSION)3message(FATAL_ERROR "test selection variables not set up")4endif ()56if (MAJOR_TEST_NO_LANGUAGES)7project(major_detect_${MAJOR_TEST_MODULE}_${MAJOR_TEST_VERSION} NONE)8else ()9project(major_detect_${MAJOR_TEST_MODULE}_${MAJOR_TEST_VERSION})10endif ()1112find_package(${MAJOR_TEST_MODULE} ${MAJOR_TEST_VERSION})1314if (MAJOR_TEST_VERSION_VAR)15set(VERSION_VAR "${MAJOR_TEST_VERSION_VAR}")16else ()17set(VERSION_VAR "${MAJOR_TEST_MODULE}_VERSION_STRING")18endif ()1920string(TOUPPER "${MAJOR_TEST_MODULE}" MODULE_UPPER)2122if ( ( ${MAJOR_TEST_MODULE}_FOUND OR ${MODULE_UPPER}_FOUND ) AND ${VERSION_VAR})23message(STATUS "${VERSION_VAR} is '${${VERSION_VAR}}'")24if (${VERSION_VAR} VERSION_LESS MAJOR_TEST_VERSION)25message(SEND_ERROR "Found version ${${VERSION_VAR}} is less than requested major version ${MAJOR_TEST_VERSION}")26endif ()27math(EXPR V_PLUS_ONE "${MAJOR_TEST_VERSION} + 1")28if (${VERSION_VAR} VERSION_GREATER V_PLUS_ONE)29message(SEND_ERROR "Found version ${${VERSION_VAR}} is greater than requested major version ${MAJOR_TEST_VERSION}")30endif ()31endif ()3233if ( ( ${MAJOR_TEST_MODULE}_FOUND OR ${MODULE_UPPER}_FOUND ) AND ${MAJOR_TEST_MODULE}_VERSION_MAJOR)34message(STATUS "${MAJOR_TEST_MODULE}_VERSION_MAJOR is '${${MAJOR_TEST_MODULE}_VERSION_MAJOR}'")35if (NOT ${MAJOR_TEST_VERSION} EQUAL ${MAJOR_TEST_MODULE}_VERSION_MAJOR)36message(SEND_ERROR "We requested major version ${MAJOR_TEST_VERSION} but ${MAJOR_TEST_MODULE} set ${MAJOR_TEST_MODULE}_VERSION_MAJOR to ${${MAJOR_TEST_MODULE}_VERSION_MAJOR}")37endif ()38endif ()3940if ( ( ${MAJOR_TEST_MODULE}_FOUND OR ${MODULE_UPPER}_FOUND ) AND ${MODULE_UPPER}_VERSION_MAJOR)41message(STATUS "${MODULE_UPPER}_VERSION_MAJOR is '${${MODULE_UPPER}_VERSION_MAJOR}'")42if (NOT ${MAJOR_TEST_VERSION} EQUAL ${MODULE_UPPER}_VERSION_MAJOR)43message(SEND_ERROR "We requested major version ${MAJOR_TEST_VERSION} but ${MAJOR_TEST_MODULE} set ${MODULE_UPPER}_VERSION_MAJOR to ${${MODULE_UPPER}_VERSION_MAJOR}")44endif ()45endif ()464748