mirror of
https://github.com/reactos/CMake.git
synced 2024-11-25 04:29:52 +00:00
7cbab17871
Historically CMake used three version components for the feature level. We released new features while incrementing only the third version component. Since commit v2.8.2~105^2~4 (New version scheme to support branchy workflow, 2010-04-23) we used the fourth version component for bug-fix releases and the development date: <major>.<minor>.<patch>[.<tweak>][-rc<n>] = Release <major>.<minor>.<patch>.<date>[-<id>] = Development This solidified use of three components for the feature level, and was necessary to continue releasing 2.x versions because: * Some existing projects performed floating-point comparisons of ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} to 2.x numbers so ``x`` could never be higher than 9. * Version 2.9.<date> was used briefly in post-2.8.0 development in CVS prior to the transition to Git, so using it in releases may have caused confusion. Now that we are moving to 3.x versions, these two restrictions go away. Therefore we now change to use only two components for the feature level and use the scheme: <major>.<minor>.<patch>[-rc<n>] = Release <major>.<minor>.<date>[-<id>] = Development
21 lines
665 B
CMake
21 lines
665 B
CMake
# 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_RELEASE 1)
|
|
set(CMake_VERSION_SOURCE "")
|
|
else()
|
|
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_RC)
|
|
set(CMake_VERSION ${CMake_VERSION}-rc${CMake_VERSION_RC})
|
|
endif()
|
|
if(CMake_VERSION_SOURCE)
|
|
set(CMake_VERSION ${CMake_VERSION}-${CMake_VERSION_SOURCE})
|
|
endif()
|