CMakeVersion.rc: Avoid leading zeros in integer version components

The split in commit v3.11.0-rc1~232^2 (CMakeVersion RC file: Split patch
into 2 components, 2017-12-01) can leave components "2018,0309", but the
latter is an octal constant with digit "9" out of range.  Strip the
leading zero to express the components as "2018,309" so the resource
compiler treats them as decimal.
This commit is contained in:
Brad King
2018-03-09 10:50:25 -05:00
parent 8c96f6ebbd
commit 588a1afe76

View File

@@ -32,7 +32,12 @@ endif()
# 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 ${CMake_VERSION_MAJOR},${CMake_VERSION_MINOR},${CMAKE_MATCH_1},${CMAKE_MATCH_2})
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()