47 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| cmake_minimum_required(VERSION 2.8)
 | |
| 
 | |
| if (NOT MAJOR_TEST_MODULE OR NOT MAJOR_TEST_VERSION)
 | |
|   message(FATAL_ERROR "test selection variables not set up")
 | |
| endif ()
 | |
| 
 | |
| if (MAJOR_TEST_NO_LANGUAGES)
 | |
|   project(major_detect_${MAJOR_TEST_MODULE}_${MAJOR_TEST_VERSION} NONE)
 | |
| else ()
 | |
|   project(major_detect_${MAJOR_TEST_MODULE}_${MAJOR_TEST_VERSION})
 | |
| endif ()
 | |
| 
 | |
| find_package(${MAJOR_TEST_MODULE} ${MAJOR_TEST_VERSION})
 | |
| 
 | |
| if (MAJOR_TEST_VERSION_VAR)
 | |
|   set(VERSION_VAR "${MAJOR_TEST_VERSION_VAR}")
 | |
| else ()
 | |
|   set(VERSION_VAR "${MAJOR_TEST_MODULE}_VERSION_STRING")
 | |
| endif ()
 | |
| 
 | |
| string(TOUPPER "${MAJOR_TEST_MODULE}" MODULE_UPPER)
 | |
| 
 | |
| if ( ( ${MAJOR_TEST_MODULE}_FOUND OR ${MODULE_UPPER}_FOUND ) AND "${VERSION_VAR}")
 | |
|   message(STATUS "${VERSION_VAR} is '${${VERSION_VAR}}'")
 | |
|   if ("${VERSION_VAR}" VERSION_LESS MAJOR_TEST_VERSION)
 | |
|     message(SEND_ERROR "Found version ${${VERSION_VAR}} is less than requested major version ${MAJOR_TEST_VERSION}")
 | |
|   endif ()
 | |
|   math(EXPR V_PLUS_ONE "${MAJOR_TEST_VERSION} + 1")
 | |
|   if ("${VERSION_VAR}" VERSION_GREATER V_PLUS_ONE)
 | |
|     message(SEND_ERROR "Found version ${${VERSION_VAR}} is greater than requested major version ${MAJOR_TEST_VERSION}")
 | |
|   endif ()
 | |
| endif ()
 | |
| 
 | |
| if ( ( ${MAJOR_TEST_MODULE}_FOUND OR ${MODULE_UPPER}_FOUND ) AND ${MAJOR_TEST_MODULE}_VERSION_MAJOR)
 | |
|   message(STATUS "${MAJOR_TEST_MODULE}_VERSION_MAJOR is '${${MAJOR_TEST_MODULE}_VERSION_MAJOR}'")
 | |
|   if (NOT ${MAJOR_TEST_VERSION} EQUAL ${MAJOR_TEST_MODULE}_VERSION_MAJOR)
 | |
|     message(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}")
 | |
|   endif ()
 | |
| endif ()
 | |
| 
 | |
| if ( ( ${MAJOR_TEST_MODULE}_FOUND OR ${MODULE_UPPER}_FOUND ) AND ${MODULE_UPPER}_VERSION_MAJOR)
 | |
|   message(STATUS "${MODULE_UPPER}_VERSION_MAJOR is '${${MODULE_UPPER}_VERSION_MAJOR}'")
 | |
|   if (NOT ${MAJOR_TEST_VERSION} EQUAL ${MODULE_UPPER}_VERSION_MAJOR)
 | |
|     message(SEND_ERROR "We requested major version ${MAJOR_TEST_VERSION} but ${MAJOR_TEST_MODULE} set ${MODULE_UPPER}_VERSION_MAJOR to ${${MODULE_UPPER}_VERSION_MAJOR}")
 | |
|   endif ()
 | |
| endif ()
 |