summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-12-07 13:11:51 (GMT)
committerKitware Robot <kwrobot@kitware.com>2017-12-07 13:11:56 (GMT)
commit3de52db69cc0c9568067c02492eddf5396147e0c (patch)
treeae53f397bec8c7834f9f68a236361832b7bb0814
parentffc9c89dae80372f7504c4b30292e6f5da514c2a (diff)
parentf92304c789336f1d5e01a596ea024525c1a2b8f7 (diff)
downloadCMake-3de52db69cc0c9568067c02492eddf5396147e0c.zip
CMake-3de52db69cc0c9568067c02492eddf5396147e0c.tar.gz
CMake-3de52db69cc0c9568067c02492eddf5396147e0c.tar.bz2
Merge topic 'splitRCPatchComponent'
f92304c7 CMakeVersion RC file: Split patch into 2 components Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1552
-rw-r--r--Source/CMakeVersion.rc.in8
-rw-r--r--Source/CMakeVersionCompute.cmake10
2 files changed, 14 insertions, 4 deletions
diff --git a/Source/CMakeVersion.rc.in b/Source/CMakeVersion.rc.in
index 60e14e5..22b4a36 100644
--- a/Source/CMakeVersion.rc.in
+++ b/Source/CMakeVersion.rc.in
@@ -1,11 +1,11 @@
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
-#define VER_FILEVERSION @CMake_VERSION_MAJOR@,@CMake_VERSION_MINOR@,@CMake_VERSION_PATCH@
-#define VER_FILEVERSION_STR "@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@.@CMake_VERSION_PATCH@\0"
+#define VER_FILEVERSION @CMake_RCVERSION@
+#define VER_FILEVERSION_STR "@CMake_RCVERSION_STR@\0"
-#define VER_PRODUCTVERSION @CMake_VERSION_MAJOR@,@CMake_VERSION_MINOR@,@CMake_VERSION_PATCH@
-#define VER_PRODUCTVERSION_STR "@CMake_VERSION@\0"
+#define VER_PRODUCTVERSION @CMake_RCVERSION@
+#define VER_PRODUCTVERSION_STR "@CMake_RCVERSION_STR@\0"
/* Version-information resource identifier. */
#define VS_VERSION_INFO 1
diff --git a/Source/CMakeVersionCompute.cmake b/Source/CMakeVersionCompute.cmake
index d9218d7..79264ed 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})