-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathversions.rc
128 lines (113 loc) · 5.88 KB
/
versions.rc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
/*****************************************************************************\
* *
* Filename versions.rc *
* *
* Description Generic resource file for multi-OS executables *
* *
* Notes Generates consistent version properties for many programs.*
* *
* The following variables must be predefined: *
* PROGRAM_VER_H = Name of the $(PROGRAM).ver.h file. *
* MY_FULLNAME = Full name of the build maker. *
* MY_EMAIL = Email of the build maker. *
* COMPANY_NAME = The copyright owner *
* LEGAL_COPYRIGHT = Yours. Default: The Apache 2 license *
* HOME_PAGE_URL = URL of the project Home page *
* SOURCES_SUBDIR = Relative path to the sources, below Home *
* *
* $(PROGRAM).ver.h must define: *
* PROGRAM_NAME = Same as PROGRAM *
* PROGRAM_DESCRIPTION = One-line description *
* PROGRAM_VERSION = Version string: MAJOR.MINOR.PATCH[.BUILD]
* PROGRAM_DATE = C Source ISO Date *
* PROGRAM_VERSION_MAJOR = Version string: MAJOR *
* PROGRAM_VERSION_MINOR = Version string: MINOR *
* PROGRAM_VERSION_PATCH = Version string: PATCH *
* PROGRAM_VERSION_BUILD = Version string: BUILD (Optional) *
* BUILD_DATE = Build ISO Date *
* BUILD_YEAR = Build year *
* BUILD_MONTH = Build month (01-12) *
* BUILD_DAY = Build day (01-31) *
* *
* History *
* 2019-06-12 JFL [email protected] created this file for SysToolsLib. *
* 2021-01-28 JFL Moved to the new NMaker repo, and made more generic. *
* *
* (C) Copyright 2019 Hewlett Packard Enterprise Development LP *
* Licensed under the Apache 2.0 license - www.apache.org/licenses/LICENSE-2.0 *
\*****************************************************************************/
#define VER_STRINGIZE(x) #x /* Convert the raw argument to a string */
#define VER_VALUEIZE(x) VER_STRINGIZE(x) /* Substitute the argument, then convert its value to a string */
/* Include the program versions definitions */
#include VER_VALUEIZE(PROGRAM_VER_H) /* Ex: "which.ver.h" */
/* OS identification string definitions */
#include "versions.h"
/* Build standard VERSIONINFO definitions from all the above */
/* Reference: https://docs.microsoft.com/en-us/windows/desktop/menurc/versioninfo-resource */
#include <winver.h>
#ifndef PROGRAM_VERSION_PATCH
#define PROGRAM_VERSION_PATCH 0
#endif
#ifndef PROGRAM_VERSION_BUILD
#define PROGRAM_VERSION_BUILD 0
#endif
#define VER_COMPANY_NAME_STR COMPANY_NAME /* Ex: "Jean-François Larvoire's System Tools Library" */
#if defined LEGAL_COPYRIGHT
#define VER_LEGAL_COPYRIGHT_STR LEGAL_COPYRIGHT
#else
#define VER_LEGAL_COPYRIGHT_STR "Open-source Freeware, w. Apache V2.0 License"
#endif
#define VER_HOMEPAGE_STR HOMEPAGE /* Ex: "https://github.com/JFLarvoire/SysToolsLib" */
#define VER_LEGALTRADEMARKS_STR VER_HOMEPAGE_STR "/" SOURCES_SUBDIR "/" PROGRAM_NAME ".c"
#define VER_FILEVERSION PROGRAM_VERSION_MAJOR,PROGRAM_VERSION_MINOR,PROGRAM_VERSION_PATCH,PROGRAM_VERSION_BUILD
#define VER_FILEVERSION_STR PROGRAM_VERSION
#define VER_FILEDESCRIPTION_STR PROGRAM_DESCRIPTION
#define VER_INTERNALNAME_STR PROGRAM_NAME
#define VER_ORIGINALFILENAME_STR PROGRAM_NAME EXE_SUFFIX
/* For the product, give information about the build and builder */
#define VER_PRODUCTVERSION BUILD_YEAR,BUILD_MONTH,BUILD_DAY,0
#define VER_PRODUCTVERSION_STR BUILD_DATE AND_EXE_PROC_NAME AND_EXE_OS_NAME AND_MIN_OS_NAME AND_DEBUG_VERSION
#define VER_PRODUCTNAME_STR SYSTOOLSLIB_NAME " - Built by " VER_VALUEIZE(MY_FULLNAME) " - " VER_VALUEIZE(MY_EMAIL)
#define VER_COMMENTS_STR DETAILED_VERSION
#ifndef _DEBUG
#define VER_FF_DEBUG 0
#else
#define VER_FF_DEBUG VS_FF_DEBUG
#endif
#ifndef _WIN64
#define VER_FILEOS VOS__WINDOWS32
#else
#define VER_FILEOS VOS_NT
#endif
/* Generate the final VERSIONINFO resource */
VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILEVERSION
PRODUCTVERSION VER_PRODUCTVERSION
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEFLAGS VER_FF_DEBUG /* (VS_FF_PRIVATEBUILD|VS_FF_PRERELEASE|VS_FF_DEBUG) */
FILEOS VER_FILEOS /* VOS__WINDOWS32 or VOS_NT */
FILETYPE VFT_APP
FILESUBTYPE 0
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4" /* 0x409 = US English, 0x4E4 = CP 1252 */
BEGIN /* Name in Properties dialog / Details tab */
VALUE "CompanyName", VER_COMPANY_NAME_STR "\0" /* - */
VALUE "FileDescription", VER_FILEDESCRIPTION_STR "\0" /* File Description */
VALUE "FileVersion", VER_FILEVERSION_STR "\0" /* - */
VALUE "InternalName", VER_INTERNALNAME_STR "\0" /* - */
VALUE "LegalCopyright", VER_LEGAL_COPYRIGHT_STR "\0" /* Copyright */
VALUE "LegalTrademarks", VER_LEGALTRADEMARKS_STR "\0" /* Legal Trademarks */
VALUE "OriginalFilename", VER_ORIGINALFILENAME_STR "\0" /* Original Filename */
VALUE "ProductName", VER_PRODUCTNAME_STR "\0" /* Product Name */
VALUE "ProductVersion", VER_PRODUCTVERSION_STR "\0" /* Product Version */
VALUE "Comments", VER_COMMENTS_STR "\0" /* - */
VALUE "HomePage", VER_HOMEPAGE_STR "\0" /* - */
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0409, 0x04E4
END
END