Skip to content
  • Brad King's avatar
    Change version scheme to use only two components for feature levels · 7cbab178
    Brad King authored
    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 restriction...
    7cbab178