Quellcode durchsuchen

Merge topic 'splitRCPatchComponent'

f92304c7 CMakeVersion RC file: Split patch into 2 components

Acked-by: Kitware Robot <[email protected]>
Merge-request: !1552
Brad King vor 8 Jahren
Ursprung
Commit
3de52db69c
2 geänderte Dateien mit 14 neuen und 4 gelöschten Zeilen
  1. 4 4
      Source/CMakeVersion.rc.in
  2. 10 0
      Source/CMakeVersionCompute.cmake

+ 4 - 4
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

+ 10 - 0
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})