From 2be9aece3fa1b30a4a533282bc4ab495b0f0154e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 26 Mar 2021 16:39:09 +0100 Subject: [PATCH] CMake: tweak version-handling - separate out the version into a variable (again -- this was moved **into** project() long ago, but now there's a desire to have the value before reaching the project() command) - rename CALAMARES_VERSION_RC to something more sensible. --- CMakeLists.txt | 18 ++++++++---------- ci/RELEASE.md | 7 ++++--- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d8f8cff8a..5a12950fc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,13 +40,15 @@ # TODO:3.3: Require CMake 3.12 cmake_minimum_required( VERSION 3.3 FATAL_ERROR ) + +set( CALAMARES_VERSION 3.2.40 ) +set( CALAMARES_RELEASE_MODE OFF ) + project( CALAMARES - VERSION 3.2.40 + VERSION ${CALAMARES_VERSION} LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development - ### OPTIONS # option( INSTALL_CONFIG "Install configuration files" OFF ) @@ -494,11 +496,7 @@ add_feature_info( ExampleDistro ${mksquashfs_FOUND} "Create example-distro targe ### CALAMARES PROPER # -set( CALAMARES_VERSION ${CALAMARES_VERSION_MAJOR}.${CALAMARES_VERSION_MINOR}.${CALAMARES_VERSION_PATCH} ) -# In rare cases we have hotfix-releases with a tweak -if( CALAMARES_VERSION_TWEAK ) - set( CALAMARES_VERSION "${CALAMARES_VERSION}.${CALAMARES_VERSION_TWEAK}" ) -endif() +# set( CALAMARES_VERSION_SHORT "${CALAMARES_VERSION}" ) # Additional info for non-release builds. The "extended" version information @@ -506,7 +504,7 @@ set( CALAMARES_VERSION_SHORT "${CALAMARES_VERSION}" ) # by CalamaresVersionX.h, which is included by consumers that need a full # version number with all that information; normal consumers can include # CalamaresVersion.h with more stable numbers. -if( NOT CALAMARES_VERSION_RC EQUAL 0 AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git/" ) +if( NOT CALAMARES_RELEASE_MODE AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git/" ) include( CMakeDateStamp ) set( CALAMARES_VERSION_DATE "${CMAKE_DATESTAMP_YEAR}${CMAKE_DATESTAMP_MONTH}${CMAKE_DATESTAMP_DAY}" ) if( CALAMARES_VERSION_DATE GREATER 0 ) @@ -521,7 +519,7 @@ endif() # Special target for displaying the version. In RC (might-be-release) # builds, use the short version (3.x.y), otherwise show the long version. -if ( CALAMARES_VERSION_RC EQUAL 0 ) +if ( CALAMARES_RELEASE_MODE ) add_custom_target(show-version ${CMAKE_COMMAND} -E echo CALAMARES_VERSION=${CALAMARES_VERSION_SHORT} USES_TERMINAL diff --git a/ci/RELEASE.md b/ci/RELEASE.md index 628f5c773..5289da5af 100644 --- a/ci/RELEASE.md +++ b/ci/RELEASE.md @@ -27,7 +27,8 @@ ## (1) Preparation -* Drop the RC variable to 0 in `CMakeLists.txt`, *CALAMARES_VERSION_RC*. +* Double-check the *CALAMARES_VERSION* value at the top of `CMakeLists.txt`. +* Set *CALAMARES_RELEASE_MODE* to `ON` in `CMakeLists.txt`. * Edit `CHANGES` and set the date of the release. * Commit both. This is usually done with commit-message *Changes: pre-release housekeeping*. @@ -78,8 +79,8 @@ Follow the instructions printed by the release script. ## (4) Post-Release -* Bump the version number in `CMakeLists.txt` in the `project()` command. -* Set *CALAMARES_VERSION_RC* back to 1. +* Bump the version number in `CMakeLists.txt` in *CALAMARES_VERSION*. +* Set *CALAMARES_RELEASE_MODE* back to `OFF`. * Add a placeholder entry for the next release in `CHANGES` with date text *not released yet*. * Commit and push that, usually with the message