summaryrefslogtreecommitdiff
path: root/Source/CMakeVersionCompute.cmake
diff options
context:
space:
mode:
authorJustin Goshi <jgoshi@microsoft.com>2017-12-01 11:44:00 -0800
committerJustin Goshi <jgoshi@microsoft.com>2017-12-04 10:49:39 -0800
commitf92304c789336f1d5e01a596ea024525c1a2b8f7 (patch)
tree4a3ae002754190ee2b90765683999679dfc4f502 /Source/CMakeVersionCompute.cmake
parenta4faf8638744edf7e3dd8931b55ba87e8f7738be (diff)
downloadcmake-f92304c789336f1d5e01a596ea024525c1a2b8f7.tar.gz
CMakeVersion RC file: Split patch into 2 components
The binary file version has 4 16-bit components. In cases where the patch component is too large (ex: represents a build date yyyymmdd) we split it into two parts.
Diffstat (limited to 'Source/CMakeVersionCompute.cmake')
-rw-r--r--Source/CMakeVersionCompute.cmake10
1 files changed, 10 insertions, 0 deletions
diff --git a/Source/CMakeVersionCompute.cmake b/Source/CMakeVersionCompute.cmake
index d9218d7316..79264ed37f 100644
--- a/Source/CMakeVersionCompute.cmake
+++ b/Source/CMakeVersionCompute.cmake
@@ -27,3 +27,13 @@ endif()
if(CMake_VERSION_IS_DIRTY)
set(CMake_VERSION ${CMake_VERSION}-dirty)
endif()
+
+# Compute the binary version that appears in the RC file. Version
+# 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})
+else()
+ set(CMake_RCVERSION ${CMake_VERSION_MAJOR},${CMake_VERSION_MINOR},${CMake_VERSION_PATCH})
+endif()
+set(CMake_RCVERSION_STR ${CMake_VERSION})