# Load version number components. include(${CMake_SOURCE_DIR}/Source/CMakeVersion.cmake) # Releases define a small patch level. if("${CMake_VERSION_PATCH}" VERSION_LESS 20000000) set(CMake_VERSION_IS_DIRTY 0) set(CMake_VERSION_IS_RELEASE 1) set(CMake_VERSION_SOURCE "") else() set(CMake_VERSION_IS_DIRTY 0) # may be set to 1 by CMakeVersionSource set(CMake_VERSION_IS_RELEASE 0) include(${CMake_SOURCE_DIR}/Source/CMakeVersionSource.cmake) endif() # Compute the full version string. set(CMake_VERSION ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH}) if(CMake_VERSION_SOURCE) set(CMake_VERSION_SUFFIX "${CMake_VERSION_SOURCE}") elseif(CMake_VERSION_RC) set(CMake_VERSION_SUFFIX "rc${CMake_VERSION_RC}") else() set(CMake_VERSION_SUFFIX "") endif() if(CMake_VERSION_SUFFIX) set(CMake_VERSION ${CMake_VERSION}-${CMake_VERSION_SUFFIX}) endif() if(CMake_VERSION_IS_DIRTY) set(CMake_VERSION ${CMake_VERSION}-dirty) endif() # Compute the binary version that appears in the RC file. Version # components in the RC file are 16-bit integers so we may have to # split the patch component. if(CMake_VERSION_PATCH MATCHES "^([0-9]+)([0-9][0-9][0-9][0-9])$") set(CMake_RCVERSION_YEAR "${CMAKE_MATCH_1}") set(CMake_RCVERSION_MONTH_DAY "${CMAKE_MATCH_2}") string(REGEX REPLACE "^0+" "" CMake_RCVERSION_MONTH_DAY "${CMake_RCVERSION_MONTH_DAY}") set(CMake_RCVERSION ${CMake_VERSION_MAJOR},${CMake_VERSION_MINOR},${CMake_RCVERSION_YEAR},${CMake_RCVERSION_MONTH_DAY}) unset(CMake_RCVERSION_MONTH_DAY) unset(CMake_RCVERSION_YEAR) else() set(CMake_RCVERSION ${CMake_VERSION_MAJOR},${CMake_VERSION_MINOR},${CMake_VERSION_PATCH}) endif() set(CMake_RCVERSION_STR ${CMake_VERSION})