Merge topic 'fix-AllFindModules-version-check'

a5ee628 Tests: Relax restrictions on version variable contents
This commit is contained in:
David Cole 2012-03-21 13:27:50 -04:00 committed by CMake Topic Stage
commit d6d221d4bd
1 changed files with 13 additions and 3 deletions

View File

@ -48,11 +48,21 @@ endif (NOT QT4_FOUND)
macro(check_version_string MODULE_NAME VERSION_VAR)
if (${MODULE_NAME}_FOUND)
if (DEFINED ${VERSION_VAR})
if (NOT ${VERSION_VAR} MATCHES "^[0-9][0-9\\.]*[-A-Za-z_\\+]*[0-9\\.]*$")
message(SEND_ERROR "${VERSION_VAR} has unexpected content ${${VERSION_VAR}}")
message(STATUS "${VERSION_VAR}='${${VERSION_VAR}}'")
if (NOT ${VERSION_VAR} MATCHES "^[0-9]")
message(SEND_ERROR "unexpected: ${VERSION_VAR} does not begin with a decimal digit")
endif()
if ("${${VERSION_VAR}}" STREQUAL "")
message(SEND_ERROR "unexpected: ${VERSION_VAR} is empty")
endif()
if (${VERSION_VAR} VERSION_EQUAL 0)
message(SEND_ERROR "unexpected: ${VERSION_VAR} is VERSION_EQUAL 0")
endif()
if (NOT ${VERSION_VAR} VERSION_GREATER 0)
message(SEND_ERROR "unexpected: ${VERSION_VAR} is NOT VERSION_GREATER 0")
endif()
else()
message(SEND_ERROR "${MODULE_NAME}_FOUND is set but no version number is defined")
message(SEND_ERROR "${MODULE_NAME}_FOUND is set but version number variable ${VERSION_VAR} is NOT DEFINED")
endif()
endif ()
endmacro(check_version_string)