Skip to content

Commit d752b79

Browse files
committed
Enhancement(versionning): Extract full semantic version from git
Extract Major.Minor.Patch-Suffix from git repository tags
1 parent 49235a5 commit d752b79

File tree

10 files changed

+150
-88
lines changed

10 files changed

+150
-88
lines changed

CMakeLists.txt

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,10 @@ option(FEATURE_COMPILE_GNUISATION "Use gcc gnu extensions to compile the VM"
3333
option(PHARO_DEPENDENCIES_PREFER_DOWNLOAD_BINARIES "Prefer downloading dependencies" OFF)
3434
option(FEATURE_COMPILE_INLINE_MEMORY_ACCESSORS "Use inline memory accessors instead of macros" ON)
3535
option(PHARO_VM_IN_WORKER_THREAD "Have support for pharo running in a different thread that the main one" ON)
36-
option(BUILD_IS_RELEASE "Is this a release version?" OFF)
3736
option(DEPENDENCIES_FORCE_BUILD "Force build libraries" OFF)
3837
option(BUILD_WITH_GRAPHVIZ "Generate dependency graphs" ON)
38+
option(VERSION_UPDATE_FROM_GIT "Extract version information from git tags. Default to true. Follow vX.Y.Z-suffix" TRUE)
39+
3940

4041
set(APPNAME "Pharo" CACHE STRING "VM Application name")
4142
set(FLAVOUR "CoInterpreter" CACHE STRING "The kind of VM to generate. Possible values: StackVM, CoInterpreter")
@@ -47,24 +48,6 @@ if(VERBOSE_BUILD)
4748
set(CMAKE_VERBOSE_MAKEFILE TRUE)
4849
endif(VERBOSE_BUILD)
4950

50-
# Extract VCS information
51-
include(cmake/versionExtraction.cmake)
52-
extractVCSInformation(GIT_COMMIT_HASH GIT_DESCRIBE GIT_COMMIT_DATE)
53-
54-
set(VERSION_MAJOR 10)
55-
set(VERSION_MINOR 3)
56-
set(VERSION_PATCH_NUMBER 0)
57-
58-
if(BUILD_IS_RELEASE)
59-
set(VERSION_PATCH "${VERSION_PATCH_NUMBER}")
60-
else()
61-
set(VERSION_PATCH "${VERSION_PATCH_NUMBER}-${GIT_COMMIT_HASH}")
62-
endif(BUILD_IS_RELEASE)
63-
64-
message(STATUS "Building version ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
65-
message(STATUS "Commit hash ${GIT_COMMIT_HASH} : ${GIT_COMMIT_DATE}")
66-
67-
6851
# Visual Studio stores user build settings in file 'CmakeSettings.json'. We would like to manage that via a project template.
6952
# To push out new template, update 'template_uuid' field in 'template_file' with value from https://www.uuidgenerator.net/
7053
set(user_file "${CMAKE_SOURCE_DIR}/CMakeSettings.json" )
@@ -99,10 +82,6 @@ endif()
9982
# Configure CMake to load our modules
10083
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
10184

102-
#Variable used to set the VM date
103-
set(BUILT_FROM "${GIT_DESCRIBE} - Commit: ${GIT_COMMIT_HASH} - Date: ${GIT_COMMIT_DATE}")
104-
message(STATUS ${BUILT_FROM})
105-
10685
# Avoid using the d postfix to debug libraries
10786
# Otherwise, debug libraries change name and breaks FFI bindings
10887
set(CMAKE_DEBUG_POSTFIX "")
@@ -126,6 +105,12 @@ endif()
126105
#This needs to be at this point, after setting the toolchain configuration
127106
project(PharoVM)
128107

108+
include(cmake/versionExtraction.cmake)
109+
110+
set(BUILT_FROM "${PharoVM_VERSION_STRING_FULL} - Commit: ${PharoVM_VERSION_GIT_SHA} - Date: ${PharoVM_VERSION_GIT_COMMIT_DATE}")
111+
message(STATUS ${BUILT_FROM})
112+
113+
129114
# Correctly set the system processor under MSVC
130115
# This is required because CMake will set the HOST_PROCESSOR in windows
131116
# And not care about our Visual Studio settings

Jenkinsfile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ def runBuild(platformName, configuration, headless = true, someAdditionalParamet
111111
def additionalParameters = someAdditionalParameters
112112

113113
additionalParameters += headless ? "" : " -DALWAYS_INTERACTIVE=1 "
114-
additionalParameters += isRelease() ? " -DBUILD_IS_RELEASE=ON " : " -DBUILD_IS_RELEASE=OFF "
115114

116115
if(configuration == 'StackVM'){
117116
additionalParameters += " -DFEATURE_MESSAGE_COUNT=TRUE "

cmake/Windows.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
set(WIN 1)
22

33
set(VM_EXECUTABLE_CONSOLE_NAME "${VM_EXECUTABLE_NAME}Console")
4-
set(VM_VERSION_FILEVERSION "${APPNAME}VM-${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}-${GIT_COMMIT_HASH}")
4+
set(VM_VERSION_FILEVERSION "${APPNAME}VM-${PharoVM_VERSION_STRING_FULL}")
55

66
set(Win32ResourcesFolder "${CMAKE_CURRENT_SOURCE_DIR}/resources/windows")
77

cmake/packaging.cmake

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,16 +79,13 @@ install(
7979
FILES_MATCHING PATTERN *.h)
8080

8181
set(CPACK_PACKAGE_DESCRIPTION "${APPNAME} Headless VM for ${FULL_PLATFORM_NAME}")
82-
set(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}")
83-
set(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}")
84-
set(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}")
8582
set(CPACK_PACKAGE_VENDOR "${APPNAME}")
8683
set(CPACK_PACKAGE_HOMEPAGE_URL "https://pharo.org")
8784

8885
if(ALWAYS_INTERACTIVE)
89-
set(CPACK_PACKAGE_FILE_NAME "${APPNAME}VM-${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH_NUMBER}-${GIT_COMMIT_HASH}-${FULL_PLATFORM_NAME}-stockReplacement")
86+
set(CPACK_PACKAGE_FILE_NAME "${APPNAME}VM-${PharoVM_VERSION_STRING_FULL}-${FULL_PLATFORM_NAME}-stockReplacement")
9087
else()
91-
set(CPACK_PACKAGE_FILE_NAME "${APPNAME}VM-${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH_NUMBER}-${GIT_COMMIT_HASH}-${FULL_PLATFORM_NAME}")
88+
set(CPACK_PACKAGE_FILE_NAME "${APPNAME}VM-${PharoVM_VERSION_STRING_FULL}-${FULL_PLATFORM_NAME}")
9289
endif()
9390

9491
set(CPACK_PACKAGE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/build/packages")

cmake/versionExtraction.cmake

Lines changed: 126 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,127 @@
1-
macro(get_commit_hash VARNAME)
2-
execute_process(
3-
COMMAND git log -1 --format=%h
4-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
5-
OUTPUT_VARIABLE ${VARNAME}
6-
OUTPUT_STRIP_TRAILING_WHITESPACE)
7-
endmacro()
8-
9-
macro(get_git_describe VARNAME)
10-
execute_process(
11-
COMMAND git describe --always --tags --first-parent
12-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
13-
OUTPUT_VARIABLE ${VARNAME}
14-
OUTPUT_STRIP_TRAILING_WHITESPACE)
15-
endmacro()
16-
17-
macro(get_git_date VARNAME)
18-
execute_process(
19-
COMMAND git log -1 --format=%ai
20-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
21-
OUTPUT_VARIABLE ${VARNAME}
22-
OUTPUT_STRIP_TRAILING_WHITESPACE)
23-
endmacro()
24-
25-
macro(extractVCSInformation COMMIT_VARNAME DESCRIBE_VARNAME COMMIT_DATE_VARNAME)
26-
get_commit_hash(${COMMIT_VARNAME})
27-
get_git_describe(${DESCRIBE_VARNAME})
28-
get_git_date(${COMMIT_DATE_VARNAME})
29-
30-
if("${${COMMIT_VARNAME}}" STREQUAL "")
31-
#If I don't have information I try to get it from the version.info file next to the sources (if one)
32-
message(STATUS "I couldn't get version information from git, using the version.info next to the sources")
33-
file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/version.info FILECONTENT LIMIT_COUNT 3)
34-
list(GET FILECONTENT 0 ${COMMIT_VARNAME})
35-
list(GET FILECONTENT 1 ${DESCRIBE_VARNAME})
36-
list(GET FILECONTENT 2 ${COMMIT_DATE_VARNAME})
37-
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/version.info DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
38-
else()
39-
#If I have information for the Commit ID, I store it in the version.info file
40-
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/version.info ${${COMMIT_VARNAME}}\n)
41-
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/version.info ${${DESCRIBE_VARNAME}}\n)
42-
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/version.info ${${COMMIT_DATE_VARNAME}})
1+
#
2+
# This cmake module sets the project version and partial version
3+
# variables by analysing the git tag and commit history. It expects git
4+
# tags defined with semantic versioning 2.0.0 (http://semver.org/).
5+
#
6+
# The module expects the PROJECT_NAME variable to be set, and recognizes
7+
# the GIT_FOUND, GIT_EXECUTABLE and VERSION_UPDATE_FROM_GIT variables.
8+
# If Git is found and VERSION_UPDATE_FROM_GIT is set to boolean TRUE,
9+
# the project version will be updated using information fetched from the
10+
# most recent git tag and commit. Otherwise, the module will try to read
11+
# a VERSION file containing the full and partial versions. The module
12+
# will update this file each time the project version is updated.
13+
#
14+
# Once done, this module will define the following variables:
15+
#
16+
# ${PROJECT_NAME}_VERSION_STRING - Version string without metadata
17+
# such as "v2.0.0" or "v1.2.41-beta.1". This should correspond to the
18+
# most recent git tag.
19+
# ${PROJECT_NAME}_VERSION_STRING_FULL - Version string with metadata
20+
# such as "v2.0.0+3.a23fbc" or "v1.3.1-alpha.2+4.9c4fd1"
21+
# ${PROJECT_NAME}_VERSION - Same as ${PROJECT_NAME}_VERSION_STRING,
22+
# without the preceding 'v', e.g. "2.0.0" or "1.2.41-beta.1"
23+
# ${PROJECT_NAME}_VERSION_FULL - Same as ${PROJECT_NAME}_VERSION_STRING_FULL,
24+
# such as "2.0.0+3.a23fbc" or "1.3.1-alpha.2+4.9c4fd1"
25+
# ${PROJECT_NAME}_VERSION_MAJOR - Major version integer (e.g. 2 in v2.3.1-RC.2+21.ef12c8)
26+
# ${PROJECT_NAME}_VERSION_MINOR - Minor version integer (e.g. 3 in v2.3.1-RC.2+21.ef12c8)
27+
# ${PROJECT_NAME}_VERSION_PATCH - Patch version integer (e.g. 1 in v2.3.1-RC.2+21.ef12c8)
28+
# ${PROJECT_NAME}_VERSION_TWEAK - Tweak version string (e.g. "RC.2" in v2.3.1-RC.2+21.ef12c8)
29+
# ${PROJECT_NAME}_VERSION_AHEAD - How many commits ahead of last tag (e.g. 21 in v2.3.1-RC.2+21.ef12c8)
30+
# ${PROJECT_NAME}_VERSION_GIT_SHA - The git sha1 of the most recent commit (e.g. the "ef12c8" in v2.3.1-RC.2+21.ef12c8)
31+
#
32+
# This module is public domain, use it as it fits you best.
33+
#
34+
# Author: Nuno Fachada
35+
36+
# Check if git is found...
37+
if (VERSION_UPDATE_FROM_GIT)
38+
find_package(Git)
39+
endif()
40+
41+
if (GIT_FOUND AND VERSION_UPDATE_FROM_GIT)
42+
43+
# Get last tag from git
44+
execute_process(COMMAND ${GIT_EXECUTABLE} describe --abbrev=0 --tags
45+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
46+
OUTPUT_VARIABLE ${PROJECT_NAME}_VERSION_STRING
47+
OUTPUT_STRIP_TRAILING_WHITESPACE)
48+
49+
#How many commits since last tag
50+
execute_process(COMMAND ${GIT_EXECUTABLE} rev-list ${${PROJECT_NAME}_VERSION_STRING}^..HEAD --count
51+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
52+
OUTPUT_VARIABLE ${PROJECT_NAME}_VERSION_AHEAD
53+
OUTPUT_STRIP_TRAILING_WHITESPACE)
54+
55+
# Get current commit SHA from git
56+
execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
57+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
58+
OUTPUT_VARIABLE ${PROJECT_NAME}_VERSION_GIT_SHA
59+
OUTPUT_STRIP_TRAILING_WHITESPACE)
60+
61+
execute_process(COMMAND ${GIT_EXECUTABLE} log -1 --format=%ai
62+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
63+
OUTPUT_VARIABLE ${PROJECT_NAME}_VERSION_GIT_COMMIT_DATE
64+
OUTPUT_STRIP_TRAILING_WHITESPACE)
65+
66+
# Get partial versions into a list
67+
string(REGEX MATCHALL "-.*$|[0-9]+" ${PROJECT_NAME}_PARTIAL_VERSION_LIST
68+
${${PROJECT_NAME}_VERSION_STRING})
69+
70+
# Set the version numbers
71+
list(GET ${PROJECT_NAME}_PARTIAL_VERSION_LIST
72+
0 ${PROJECT_NAME}_VERSION_MAJOR)
73+
list(GET ${PROJECT_NAME}_PARTIAL_VERSION_LIST
74+
1 ${PROJECT_NAME}_VERSION_MINOR)
75+
list(GET ${PROJECT_NAME}_PARTIAL_VERSION_LIST
76+
2 ${PROJECT_NAME}_VERSION_PATCH)
77+
78+
# The tweak part is optional, so check if the list contains it
79+
list(LENGTH ${PROJECT_NAME}_PARTIAL_VERSION_LIST
80+
${PROJECT_NAME}_PARTIAL_VERSION_LIST_LEN)
81+
if (${PROJECT_NAME}_PARTIAL_VERSION_LIST_LEN GREATER 3)
82+
list(GET ${PROJECT_NAME}_PARTIAL_VERSION_LIST 3 ${PROJECT_NAME}_VERSION_TWEAK)
83+
string(SUBSTRING ${${PROJECT_NAME}_VERSION_TWEAK} 1 -1 ${PROJECT_NAME}_VERSION_TWEAK)
4384
endif()
44-
endmacro()
85+
86+
# Unset the list
87+
unset(${PROJECT_NAME}_PARTIAL_VERSION_LIST)
88+
89+
# Set full project version string
90+
set(${PROJECT_NAME}_VERSION_STRING_FULL
91+
${${PROJECT_NAME}_VERSION_STRING}+${${PROJECT_NAME}_VERSION_AHEAD}.${${PROJECT_NAME}_VERSION_GIT_SHA})
92+
93+
# Save version to file (which will be used when Git is not available
94+
# or VERSION_UPDATE_FROM_GIT is disabled)
95+
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/version.info ${${PROJECT_NAME}_VERSION_STRING_FULL}
96+
"*" ${${PROJECT_NAME}_VERSION_STRING}
97+
"*" ${${PROJECT_NAME}_VERSION_MAJOR}
98+
"*" ${${PROJECT_NAME}_VERSION_MINOR}
99+
"*" ${${PROJECT_NAME}_VERSION_PATCH}
100+
"*" ${${PROJECT_NAME}_VERSION_TWEAK}
101+
"*" ${${PROJECT_NAME}_VERSION_AHEAD}
102+
"*" ${${PROJECT_NAME}_VERSION_GIT_SHA})
103+
104+
else()
105+
106+
# Git not available, get version from file
107+
file(STRINGS ${CMAKE_SOURCE_DIR}/version.info ${PROJECT_NAME}_VERSION_LIST)
108+
string(REPLACE "*" ";" ${PROJECT_NAME}_VERSION_LIST ${${PROJECT_NAME}_VERSION_LIST})
109+
# Set partial versions
110+
list(GET ${PROJECT_NAME}_VERSION_LIST 0 ${PROJECT_NAME}_VERSION_STRING_FULL)
111+
list(GET ${PROJECT_NAME}_VERSION_LIST 1 ${PROJECT_NAME}_VERSION_STRING)
112+
list(GET ${PROJECT_NAME}_VERSION_LIST 2 ${PROJECT_NAME}_VERSION_MAJOR)
113+
list(GET ${PROJECT_NAME}_VERSION_LIST 3 ${PROJECT_NAME}_VERSION_MINOR)
114+
list(GET ${PROJECT_NAME}_VERSION_LIST 4 ${PROJECT_NAME}_VERSION_PATCH)
115+
list(GET ${PROJECT_NAME}_VERSION_LIST 5 ${PROJECT_NAME}_VERSION_TWEAK)
116+
list(GET ${PROJECT_NAME}_VERSION_LIST 6 ${PROJECT_NAME}_VERSION_AHEAD)
117+
list(GET ${PROJECT_NAME}_VERSION_LIST 7 ${PROJECT_NAME}_VERSION_GIT_SHA)
118+
119+
endif()
120+
121+
122+
# Set project version (without the preceding 'v')
123+
set(${PROJECT_NAME}_VERSION ${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}.${${PROJECT_NAME}_VERSION_PATCH})
124+
set(${PROJECT_NAME}_VERSION_FULL ${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}.${${PROJECT_NAME}_VERSION_PATCH})
125+
if (${PROJECT_NAME}_VERSION_TWEAK)
126+
set(${PROJECT_NAME}_VERSION ${${PROJECT_NAME}_VERSION}-${${PROJECT_NAME}_VERSION_TWEAK})
127+
endif()

include/pharovm/config.h.in

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,11 @@
5353

5454
#cmakedefine PHARO_VM_IN_WORKER_THREAD
5555

56-
#cmakedefine BUILD_IS_RELEASE
57-
5856
#if defined(_MSC_VER)
59-
#define VM_BUILD_STRING VM_NAME " @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@ built on " __DATE__ " " __TIME__ " Compiler: Visual C"
57+
#define VM_BUILD_STRING VM_NAME " @PharoVM_VERSION_STRING@ built on " __DATE__ " " __TIME__ " Compiler: Visual C"
6058
#define COMPILER_VERSION "Visual C"
6159
#else
62-
#define VM_BUILD_STRING VM_NAME " @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@ built on " __DATE__ " " __TIME__" Compiler: " __VERSION__
60+
#define VM_BUILD_STRING VM_NAME " @PharoVM_VERSION_STRING@ built on " __DATE__ " " __TIME__" Compiler: " __VERSION__
6361
#define COMPILER_VERSION __VERSION__
6462
#endif
6563

resources/mac/Info.plist.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
<key>CFBundlePackageType</key>
1818
<string>APPL</string>
1919
<key>CFBundleShortVersionString</key>
20-
<string>@VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@</string>
20+
<string>@PharoVM_VERSION@</string>
2121
<key>CFBundleVersion</key>
22-
<string>@VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@-@GIT_COMMIT_HASH@</string>
22+
<string>@PharoVM_VERSION_FULL@</string>
2323
<key>NSHighResolutionCapable</key>
2424
<true/>
2525
<key>CFBundleDevelopmentRegion</key>

resources/windows/Pharo.rc.in

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
100 ICON "@Win32VMExecutableIcon@"
55

66
VS_VERSION_INFO VERSIONINFO
7-
FILEVERSION @VERSION_MAJOR@,@VERSION_MINOR@,@VERSION_PATCH_NUMBER@,0
8-
PRODUCTVERSION @VERSION_MAJOR@,@VERSION_MINOR@,@VERSION_PATCH_NUMBER@,0
7+
FILEVERSION @PharoVM_VERSION_MAJOR@,@PharoVM_VERSION_MINOR@,@PharoVM_VERSION_PATCH@,@PharoVM_VERSION_AHEAD@
8+
PRODUCTVERSION @PharoVM_VERSION_MAJOR@,@PharoVM_VERSION_MINOR@,@PharoVM_VERSION_PATCH@,@PharoVM_VERSION_AHEAD@
99
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
1010
FILEFLAGS VS_FF_DEBUG
1111
FILEOS VOS__WINDOWS32
@@ -21,7 +21,7 @@ BEGIN
2121
VALUE "FileVersion", "@VM_VERSION_FILEVERSION@"
2222
VALUE "LegalCopyright", "Copyright \251 https://www.pharo.org 1996-2021\0" // TODO: Check this field
2323
VALUE "ProductName", "Pharo\0"
24-
VALUE "ProductVersion", "@VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@-@GIT_COMMIT_HASH@\0"
24+
VALUE "ProductVersion", "@PharoVM_VERSION_FULL@\0"
2525
END
2626
END
2727
BLOCK "VarFileInfo"

resources/windows/PharoConsole.rc.in

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
100 ICON "@Win32VMExecutableIcon@"
55

66
VS_VERSION_INFO VERSIONINFO
7-
FILEVERSION @VERSION_MAJOR@,@VERSION_MINOR@,@VERSION_PATCH_NUMBER@,0
8-
PRODUCTVERSION @VERSION_MAJOR@,@VERSION_MINOR@,@VERSION_PATCH_NUMBER@,0
7+
FILEVERSION @PharoVM_VERSION_MAJOR@,@PharoVM_VERSION_MINOR@,@PharoVM_VERSION_PATCH@,@PharoVM_VERSION_AHEAD@
8+
PRODUCTVERSION @PharoVM_VERSION_MAJOR@,@PharoVM_VERSION_MINOR@,@PharoVM_VERSION_PATCH@,@PharoVM_VERSION_AHEAD@
99
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
1010
FILEFLAGS VS_FF_DEBUG
1111
FILEOS VOS__WINDOWS32
@@ -21,7 +21,7 @@ BEGIN
2121
VALUE "FileVersion", "@VM_VERSION_FILEVERSION@"
2222
VALUE "LegalCopyright", "Copyright \251 https://www.pharo.org 1996-2021\0" // TODO: Check this field
2323
VALUE "ProductName", "Pharo\0"
24-
VALUE "ProductVersion", "@VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@-@GIT_COMMIT_HASH@\0"
24+
VALUE "ProductVersion", "@PharoVM_VERSION_FULL@\0"
2525
END
2626
END
2727
BLOCK "VarFileInfo"

resources/windows/PharoDLL.rc.in

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
#include "win/resources.h"
33

44
1 VERSIONINFO
5-
FILEVERSION @VERSION_MAJOR@,@VERSION_MINOR@,@VERSION_PATCH_NUMBER@,0
6-
PRODUCTVERSION @VERSION_MAJOR@,@VERSION_MINOR@,@VERSION_PATCH_NUMBER@,0
5+
FILEVERSION @PharoVM_VERSION_MAJOR@,@PharoVM_VERSION_MINOR@,@PharoVM_VERSION_PATCH@,@PharoVM_VERSION_AHEAD@
6+
PRODUCTVERSION @PharoVM_VERSION_MAJOR@,@PharoVM_VERSION_MINOR@,@PharoVM_VERSION_PATCH@,@PharoVM_VERSION_AHEAD@
77
FILEFLAGSMASK 0x3fL
88
FILEFLAGS 0xaL
99
FILEOS 0x10001L
@@ -19,7 +19,7 @@ BEGIN
1919
VALUE "FileVersion", "@VM_VERSION_FILEVERSION@"
2020
VALUE "LegalCopyright", "Copyright \251 https://www.pharo.org 1996-2021\0" // TODO: Check this field
2121
VALUE "ProductName", "Pharo\0"
22-
VALUE "ProductVersion", "@VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@-@GIT_COMMIT_HASH@\0"
22+
VALUE "ProductVersion", "@PharoVM_VERSION_FULL@\0"
2323
END
2424
END
2525
BLOCK "VarFileInfo"

0 commit comments

Comments
 (0)