From 90859107c8686c8798bff26aeb8ff17cea54bee1 Mon Sep 17 00:00:00 2001
From: Přemysl Eric Janouch
Date: Sat, 15 Jul 2023 23:34:37 +0200
Subject: xW: set version information
---
xW/config.h.in | 10 +++++++++-
xW/xW.cpp | 6 ++++--
xW/xW.rc | 32 ++++++++++++++++++++++++++++++++
3 files changed, 45 insertions(+), 3 deletions(-)
(limited to 'xW')
diff --git a/xW/config.h.in b/xW/config.h.in
index 2bfe8fc..f978cac 100644
--- a/xW/config.h.in
+++ b/xW/config.h.in
@@ -1,6 +1,14 @@
#ifndef CONFIG_H
#define CONFIG_H
-#define PROGRAM_VERSION "${project_version}"
+#define PROJECT_NAME "${PROJECT_NAME}"
+#define PROJECT_VERSION "${project_version}"
+#define PROJECT_DESCRIPTION "${PROJECT_DESCRIPTION}"
+#define PROJECT_AUTHOR "Přemysl Eric Janouch"
+
+#define PROJECT_MAJOR (${PROJECT_VERSION_MAJOR}-0)
+#define PROJECT_MINOR (${PROJECT_VERSION_MINOR}-0)
+#define PROJECT_PATCH (${PROJECT_VERSION_PATCH}-0)
+#define PROJECT_TWEAK (${PROJECT_VERSION_TWEAK}-0)
#endif // ! CONFIG_H
diff --git a/xW/xW.cpp b/xW/xW.cpp
index bbd208a..c0b6a03 100644
--- a/xW/xW.cpp
+++ b/xW/xW.cpp
@@ -18,6 +18,7 @@
#include "xC-proto.cpp"
#include "xW-resources.h"
+#include "config.h"
#include
#include
@@ -1744,11 +1745,12 @@ wWinMain(HINSTANCE hInstance, [[maybe_unused]] HINSTANCE hPrevInstance,
wc.hIcon = g.hicon;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = GetSysColorBrush(COLOR_3DFACE);
- wc.lpszClassName = L"xW";
+ wc.lpszClassName = TEXT(PROJECT_NAME);
if (!RegisterClassEx(&wc))
return 1;
- g.hwndMain = CreateWindowEx(WS_EX_CONTROLPARENT, L"xW", L"xW",
+ g.hwndMain = CreateWindowEx(
+ WS_EX_CONTROLPARENT, wc.lpszClassName, TEXT(PROJECT_NAME),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 600, 400, NULL, NULL, hInstance, NULL);
diff --git a/xW/xW.rc b/xW/xW.rc
index 858b104..f041995 100644
--- a/xW/xW.rc
+++ b/xW/xW.rc
@@ -1,6 +1,12 @@
#include
#include "xW-resources.h"
+// https://devblogs.microsoft.com/oldnewthing/20190607-00/?p=102569
+// For UTF-8 literals to work in both MinGW and Microsoft resource compilers,
+// the pragma needs to be in this file, and before they're included.
+#pragma code_page(65001)
+#include "config.h"
+
// Beware of this madness https://gitlab.kitware.com/cmake/cmake/-/issues/23066
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xW.manifest"
@@ -21,3 +27,29 @@ BEGIN
"H", ID_TOGGLE_UNIMPORTANT, ALT
"h", ID_DISPLAY_FULL_LOG, ALT
END
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION PROJECT_MAJOR, PROJECT_MINOR, PROJECT_PATCH, PROJECT_TWEAK
+PRODUCTVERSION PROJECT_MAJOR, PROJECT_MINOR, PROJECT_PATCH, PROJECT_TWEAK
+FILETYPE VFT_APP
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904B0"
+ BEGIN
+ VALUE "CompanyName", PROJECT_AUTHOR
+ VALUE "FileDescription", PROJECT_DESCRIPTION
+ VALUE "FileVersion", PROJECT_VERSION
+ VALUE "InternalName", PROJECT_NAME
+ VALUE "LegalCopyright", PROJECT_AUTHOR
+ VALUE "OriginalFilename", PROJECT_NAME ".exe"
+ VALUE "ProductName", PROJECT_NAME
+ VALUE "ProductVersion", PROJECT_VERSION
+ END
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
--
cgit v1.2.3-70-g09d2