Skip to content

Commit dc48c3e

Browse files
committed
Fixed string formatting for VERSIONINFO on Windows with point releases
1 parent d962421 commit dc48c3e

1 file changed

Lines changed: 15 additions & 2 deletions

File tree

CMakeLists.txt

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,18 +55,31 @@ if(Git_FOUND OR NGSCOPECLIENT_PACKAGE_VERSION)
5555
set(NGSCOPECLIENT_VERSION_LONG "${NGSCOPECLIENT_PACKAGE_VERSION_LONG}")
5656
message("External long release version is ${NGSCOPECLIENT_VERSION_LONG}")
5757
endif ()
58-
# TODO: if/when we have a point release, make MSI version 10x+9
58+
59+
# For point releases make MSI version 10x+9. This limits us to 9 release candidates which should be ok??
5960
# ex: 0.1.2-rc2 is 0.1.22
6061
# ex: 0.1.2 is 0.1.29
6162

6263
# Ugly string parsing to make windows build happy
63-
# First path: release candidate tags
64+
# First path: release candidate tags for primary releases
6465
if(NGSCOPECLIENT_VERSION_LONG MATCHES "v([0-9]*).([0-9]*)-rc([0-9])-([0-9]*)")
6566
set(MSI_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}.${CMAKE_MATCH_4}")
6667

68+
# Release candidates for point releases
69+
elseif(NGSCOPECLIENT_VERSION_LONG MATCHES "v([0-9]*).([0-9]*).([0-9]*)-rc([0-9])-([0-9]*)")
70+
set(MSI_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}${CMAKE_MATCH_4}.${CMAKE_MATCH_5}")
71+
6772
# Release tags
6873
elseif(NGSCOPECLIENT_VERSION_LONG MATCHES "v([0-9]*).([0-9]*)-([0-9]*)")
6974
set(MSI_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.9.${CMAKE_MATCH_3}")
75+
76+
# Release tags for point releases
77+
elseif(NGSCOPECLIENT_VERSION_LONG MATCHES "v([0-9]*).([0-9]*).([0-9]*)-([0-9]*)")
78+
set(MSI_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}9.${CMAKE_MATCH_4}")
79+
80+
# No release matched
81+
else()
82+
message(FATAL_ERROR "Unrecognized version tag ${NGSCOPECLIENT_VERSION} / ${NGSCOPECLIENT_VERSION_LONG}, can't create a VERSIONINFO from it. Must be of format v1.2, v1.2.3, v1.2-rc3, v1.2.3-rc4")
7083
endif()
7184

7285
else()

0 commit comments

Comments
 (0)