From dbf8e53621dcb5de56dc1303e7594a7f606feb74 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 10 Sep 2017 11:42:19 +0200 Subject: [PATCH] Include version information in Windows exe file. --- src/klayout.pri | 16 +++++++++++++ src/klayout.pro | 5 ----- src/klayout_main/klayout.rc | 45 +++++++++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+), 5 deletions(-) diff --git a/src/klayout.pri b/src/klayout.pri index 61e18a286..00d0b3f39 100644 --- a/src/klayout.pri +++ b/src/klayout.pri @@ -80,9 +80,25 @@ win32 { QMAKE_CXXFLAGS += -fvisibility=hidden } +VERSION_STRING = $$KLAYOUT_VERSION +VERSION_STRING_WITH_BLANKS = $$replace(VERSION_STRING, "\\.", " ") +eval(VERSION_ARRAY = $$VERSION_STRING_WITH_BLANKS) + +KLAYOUT_MAJOR_VERSION = $$member(VERSION_ARRAY, 0) + +KLAYOUT_MINOR_VERSION = $$member(VERSION_ARRAY, 1) + +KLAYOUT_TINY_VERSION = $$member(VERSION_ARRAY, 2) +isEmpty(KLAYOUT_TINY_VERSION) { + KLAYOUT_TINY_VERSION = 0 +} + DEFINES += \ KLAYOUT_VERSION=$$KLAYOUT_VERSION \ KLAYOUT_VERSION_REV=$$KLAYOUT_VERSION_REV \ KLAYOUT_VERSION_DATE=$$KLAYOUT_VERSION_DATE \ + KLAYOUT_MAJOR_VERSION=$$KLAYOUT_MAJOR_VERSION \ + KLAYOUT_MINOR_VERSION=$$KLAYOUT_MINOR_VERSION \ + KLAYOUT_TINY_VERSION=$$KLAYOUT_TINY_VERSION \ VERSION = $$KLAYOUT_VERSION diff --git a/src/klayout.pro b/src/klayout.pro index 9a54cd42a..cf988e4b5 100644 --- a/src/klayout.pro +++ b/src/klayout.pro @@ -74,8 +74,3 @@ plugins.depends += lay ext lib klayout_main.depends += plugins $$MAIN_DEPENDS unit_tests.depends += plugins $$MAIN_DEPENDS - -RESOURCES += \ - laybasic/layResources.qrc \ - ant/layResources.qrc \ - ext/lay/layResources.qrc diff --git a/src/klayout_main/klayout.rc b/src/klayout_main/klayout.rc index 039e66e80..b378497a8 100644 --- a/src/klayout_main/klayout.rc +++ b/src/klayout_main/klayout.rc @@ -1,4 +1,49 @@ +#define STRINGIFY_(x) #x +#define STRINGIFY(x) STRINGIFY_(x) + +#define NULL \\0 +#define SPACE \040 + +#define DESCRIPTION_STRING KLayout Application +#define PRODUCTNAME_STRING KLayout +#define COPYRIGHT_STRING GPL 2.0 (or later) by Matthias Koefferlein +#define COMMENT_STRING DESCRIPTION_STRING##SPACE##KLAYOUT_VERSION##SPACE##KLAYOUT_VERSION_DATE##SPACE##KLAYOUT_VERSION_REV + // The application logo 0 ICON "logo.ico" +VS_VERSION_INFO VERSIONINFO + FILEVERSION KLAYOUT_MAJOR_VERSION,KLAYOUT_MINOR_VERSION,KLAYOUT_TINY_VERSION,0 + PRODUCTVERSION KLAYOUT_MAJOR_VERSION,KLAYOUT_MINOR_VERSION,KLAYOUT_TINY_VERSION,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L + BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "\0" + VALUE "Comments", STRINGIFY(COMMENT_STRING##NULL) + VALUE "FileDescription", STRINGIFY(DESCRIPTION_STRING##NULL) + VALUE "FileVersion", STRINGIFY(KLAYOUT_VERSION##NULL) + VALUE "LegalCopyright", STRINGIFY(COPYRIGHT_STRING##NULL) + VALUE "OriginalFilename", "klayout.exe\0" + VALUE "ProductName", STRINGIFY(PRODUCTNAME_STRING##NULL) + VALUE "ProductVersion", STRINGIFY(KLAYOUT_VERSION##NULL) + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 1200 + END + END +/* End of Version info */ +