version.cmake 666 B

123456789101112
  1. SET(VERSION_REGEX "[0-9]+\\.[0-9]+\\.[0-9]+")
  2. MACRO(VERSION_TO_VARS version major minor patch)
  3. IF(${version} MATCHES ${VERSION_REGEX})
  4. STRING(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" ${major} "${version}")
  5. STRING(REGEX REPLACE "^[0-9]+\\.([0-9])+\\.[0-9]+" "\\1" ${minor} "${version}")
  6. STRING(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" ${patch} "${version}")
  7. ELSE(${version} MATCHES ${VERSION_REGEX})
  8. MESSAGE("MACRO(VERSION_TO_VARS ${version} ${major} ${minor} ${patch}")
  9. MESSAGE(FATAL_ERROR "Problem parsing version string, I can't parse it properly.")
  10. ENDIF(${version} MATCHES ${VERSION_REGEX})
  11. ENDMACRO(VERSION_TO_VARS)