diff options
author | David Cole <david.cole@kitware.com> | 2012-03-20 20:18:02 (GMT) |
---|---|---|
committer | David Cole <david.cole@kitware.com> | 2012-03-20 20:18:02 (GMT) |
commit | a5ee62851973713e15147d046d7d0d4abcfdd078 (patch) | |
tree | 4fe60c95eaa3669edf95f9dac8a0d23137ed2a6e | |
parent | d69c2c582584efaa34aa6e2ffc5eb80bacef1324 (diff) | |
download | CMake-a5ee62851973713e15147d046d7d0d4abcfdd078.zip CMake-a5ee62851973713e15147d046d7d0d4abcfdd078.tar.gz CMake-a5ee62851973713e15147d046d7d0d4abcfdd078.tar.bz2 |
Tests: Relax restrictions on version variable contents
Our only expectation of version number variables should be that
they begin with a decimal digit for VERSION_LESS, VERSION_EQUAL
and VERSION_GREATER comparison purposes. If people put extra
blah blah after a version number like "1.2.3 (this is some super
special extra information about our funky proprietary build of
the official 1.2.3 release)" then we should be ok with that.
So: now we have the following expectations for version number
variable content for the purposes of the AllFindModules test:
- it should start with a decimal digit (match "^[0-9]")
- it should not be empty
- it should not be VERSION_EQUAL 0
- it should not be NOT VERSION_GREATER 0
-rw-r--r-- | Tests/CMakeOnly/AllFindModules/CMakeLists.txt | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/Tests/CMakeOnly/AllFindModules/CMakeLists.txt b/Tests/CMakeOnly/AllFindModules/CMakeLists.txt index 22b1b7b..6604208 100644 --- a/Tests/CMakeOnly/AllFindModules/CMakeLists.txt +++ b/Tests/CMakeOnly/AllFindModules/CMakeLists.txt @@ -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) |