commit 8c6c1eb915484d7d746bc6b1896145a594edf41f
parent 66895079ebae050224bfef8b74e9b575681c6a10
Author: cfillion <cfillion@users.noreply.github.com>
Date: Mon, 6 Jan 2020 13:48:28 -0800
fill the Details tab of the DLL's properties in Windows Explorer
Diffstat:
3 files changed, 47 insertions(+), 0 deletions(-)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
@@ -40,8 +40,14 @@ set(REAPACK_FILENAME "${REAPACK_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}")
file(STRINGS ../Extensions/ReaPack.ext REAPACK_VERSION REGEX "^@version")
string(SUBSTRING ${REAPACK_VERSION} 9 -1 REAPACK_VERSION)
+string(REGEX REPLACE "[^0-9]+" ";" VERSION_LIST ${REAPACK_VERSION})
+list(TRANSFORM VERSION_LIST REPLACE "[^0-9]" "")
+list(GET VERSION_LIST 0 REAPACK_VERSION_MAJOR)
+list(GET VERSION_LIST 1 REAPACK_VERSION_MINOR)
+list(GET VERSION_LIST 2 REAPACK_VERSION_PATCH)
string(TIMESTAMP REAPACK_BUILDTIME "%b %d %Y %H:%M:%S" UTC)
+file(STRINGS ../ABOUT.md REAPACK_COPYRIGHT REGEX "^Copyright")
configure_file(buildinfo.hpp.in buildinfo.hpp)
@@ -107,6 +113,7 @@ target_include_directories(reapack PRIVATE
${CMAKE_SOURCE_DIR}/vendor ${CMAKE_CURRENT_BINARY_DIR})
if(WIN32)
+ target_sources(reapack PRIVATE buildinfo.rc)
target_compile_options(reapack PUBLIC /W3 /WX /wd4996)
target_link_libraries(reapack Bcrypt Comctl32 Comdlg32 Gdi32 Shell32 User32)
else()
diff --git a/src/buildinfo.hpp.in b/src/buildinfo.hpp.in
@@ -1,4 +1,10 @@
#cmakedefine REAPACK_FILENAME "@REAPACK_FILENAME@"
+#cmakedefine REAPACK_BASENAME "@REAPACK_BASENAME@"
#cmakedefine REAPACK_VERSION "@REAPACK_VERSION@"
#cmakedefine REAPACK_REVISION "@REAPACK_REVISION@"
#cmakedefine REAPACK_BUILDTIME "@REAPACK_BUILDTIME@"
+#cmakedefine REAPACK_COPYRIGHT "@REAPACK_COPYRIGHT@"
+
+#cmakedefine REAPACK_VERSION_MAJOR @REAPACK_VERSION_MAJOR@
+#cmakedefine REAPACK_VERSION_MINOR @REAPACK_VERSION_MINOR@
+#cmakedefine REAPACK_VERSION_PATCH @REAPACK_VERSION_PATCH@
diff --git a/src/buildinfo.rc b/src/buildinfo.rc
@@ -0,0 +1,34 @@
+#include "buildinfo.hpp"
+
+#include <winver.h>
+
+#define VERSION_ARRAY \
+ REAPACK_VERSION_MAJOR, REAPACK_VERSION_MINOR, REAPACK_VERSION_PATCH
+
+// https://docs.microsoft.com/en-us/windows/win32/menurc/versioninfo-resource
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION VERSION_ARRAY
+ PRODUCTVERSION VERSION_ARRAY
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904B0"
+ BEGIN
+ VALUE "ProductName", "ReaPack"
+ VALUE "CompanyName", "https://reapack.com"
+ VALUE "FileDescription", "REAPER plug-in extension"
+ VALUE "FileVersion", REAPACK_VERSION "-" REAPACK_REVISION
+ VALUE "ProductVersion", REAPACK_VERSION
+ VALUE "OriginalFilename", REAPACK_FILENAME
+ VALUE "InternalName", REAPACK_BASENAME
+ VALUE "LegalCopyright", REAPACK_COPYRIGHT
+ END
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN
+ // Links to the block in the StringFileInfo structure above
+ VALUE "Translation", 0x0409, 0x04B0
+ END
+END