From 9b3e9082d39bf7b6fde6c4e6e8816b9611819142 Mon Sep 17 00:00:00 2001 From: Marek Roszko <mark.roszko@gmail.com> Date: Sun, 23 Jan 2022 14:46:37 -0500 Subject: [PATCH] Add extraction of patch version to feed to resource defines --- .../BuildSteps/WriteVersionHeader.cmake | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/CMakeModules/BuildSteps/WriteVersionHeader.cmake b/CMakeModules/BuildSteps/WriteVersionHeader.cmake index 200969f5c9..889d93c5a6 100644 --- a/CMakeModules/BuildSteps/WriteVersionHeader.cmake +++ b/CMakeModules/BuildSteps/WriteVersionHeader.cmake @@ -28,17 +28,21 @@ include( ${CMAKE_MODULE_PATH}/KiCadFullVersion.cmake ) # Extract the major and minor build version as a string string( REGEX MATCH - "([0-9]+)\\.([0-9]+)\\..*" - KICAD_MAJOR_MINOR_VERSION + "([0-9]+)\\.([0-9]+)\\.([0-9]+).*" + KICAD_MAJOR_MINOR_PATCH_VERSION "${KICAD_SEMANTIC_VERSION}" ) -if( CMAKE_MATCH_COUNT EQUAL 2 ) +if( CMAKE_MATCH_COUNT EQUAL 3 ) # Match slot 0 is the full string, so we want slots 1 & 2 set( KICAD_MAJOR_MINOR_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}" ) set( KICAD_MAJOR_MINOR_VERSION_TUPLE "{ ${CMAKE_MATCH_1}, ${CMAKE_MATCH_2} }" ) + + set( KICAD_MAJOR_MINOR_PATCH_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}" ) + set( KICAD_MAJOR_VERSION "${CMAKE_MATCH_1}" ) set( KICAD_MINOR_VERSION "${CMAKE_MATCH_2}" ) + set( KICAD_PATCH_VERSION "${CMAKE_MATCH_3}" ) if( KICAD_MINOR_VERSION STREQUAL "99" ) set( KICAD_IS_NIGHTLY "1" ) @@ -46,12 +50,12 @@ if( CMAKE_MATCH_COUNT EQUAL 2 ) set( KICAD_IS_NIGHTLY "0" ) endif() - set( KICAD_WIN32_RC_FILEVER_STR "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.0.${KICAD_GIT_REV}\\0" ) - set( KICAD_WIN32_RC_FILEVER "${CMAKE_MATCH_1}, ${CMAKE_MATCH_2}, 0, ${KICAD_GIT_REV}" ) + set( KICAD_WIN32_RC_FILEVER_STR "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}.${KICAD_GIT_REV}\\0" ) + set( KICAD_WIN32_RC_FILEVER "${CMAKE_MATCH_1}, ${CMAKE_MATCH_2}, ${CMAKE_MATCH_3}, ${KICAD_GIT_REV}" ) set( KICAD_WIN32_RC_PRODVER_STR "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}\\0" ) - set( KICAD_WIN32_RC_PRODVER "${CMAKE_MATCH_1}, ${CMAKE_MATCH_2}, 0, ${KICAD_GIT_REV}" ) + set( KICAD_WIN32_RC_PRODVER "${CMAKE_MATCH_1}, ${CMAKE_MATCH_2}, ${CMAKE_MATCH_3}, ${KICAD_GIT_REV}" ) else() - message( FATAL_ERROR "Unable to extract major and minor version string" ) + message( FATAL_ERROR "Unable to extract major, minor and patch version string" ) endif() set( _wvh_new_version_text @@ -67,6 +71,7 @@ set( _wvh_new_version_text #define KICAD_SEMANTIC_VERSION \"${KICAD_SEMANTIC_VERSION}\" #define KICAD_MAJOR_VERSION \"${KICAD_MAJOR_VERSION}\" #define KICAD_MINOR_VERSION \"${KICAD_MINOR_VERSION}\" +#define KICAD_PATCH_VERSION \"${KICAD_PATCH_VERSION}\" #define KICAD_IS_NIGHTLY ${KICAD_IS_NIGHTLY} #define KICAD_MAJOR_MINOR_VERSION \"${KICAD_MAJOR_MINOR_VERSION}\" #define KICAD_MAJOR_MINOR_VERSION_TUPLE ${KICAD_MAJOR_MINOR_VERSION_TUPLE}