Rudimentary file versioning.
authorIain Patterson <me@iain.cx>
Tue, 22 Oct 2013 15:33:01 +0000 (16:33 +0100)
committerIain Patterson <me@iain.cx>
Tue, 22 Oct 2013 15:33:01 +0000 (16:33 +0100)
Embed file version info in the resource file so that right-clicking the
executable shows the application version.

Unfortunately the version field must be formatted in a particular way so
we can't reuse the NSSM_VERSION #define from nssm.h but instead must
create a new #define and remember to update it when making a release.

Thanks fREW Schmidt.

nssm.h
nssm.rc

diff --git a/nssm.h b/nssm.h
index 4a32859..0e918c3 100644 (file)
--- a/nssm.h
+++ b/nssm.h
@@ -18,6 +18,7 @@ int str_equiv(const char *, const char *);
 \r
 #define NSSM "nssm"\r
 #define NSSM_VERSION "2.16"\r
+#define NSSM_VERSIONINFO 2,16,0,0\r
 #define NSSM_DATE "2012-12-01"\r
 \r
 /*\r
diff --git a/nssm.rc b/nssm.rc
index b2e539e..d7c9d3b 100644 (file)
--- a/nssm.rc
+++ b/nssm.rc
@@ -1,5 +1,6 @@
 // Microsoft Visual C++ generated resource script.\r
 //\r
+#include "nssm.h"\r
 #include "resource.h"\r
 \r
 #define APSTUDIO_READONLY_SYMBOLS\r
@@ -110,6 +111,32 @@ BEGIN
 END\r
 #endif    // APSTUDIO_INVOKED\r
 \r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// Version\r
+//\r
+\r
+VS_VERSION_INFO VERSIONINFO\r
+ FILEVERSION NSSM_VERSIONINFO\r
+ PRODUCTVERSION NSSM_VERSIONINFO\r
+ FILEFLAGSMASK 0x17L\r
+#ifdef _DEBUG\r
+ FILEFLAGS 0x1L\r
+#else\r
+ FILEFLAGS 0x0L\r
+#endif\r
+ FILEOS 0x4L\r
+ FILETYPE 0x1L\r
+ FILESUBTYPE 0x0L\r
+BEGIN\r
+    BLOCK "StringFileInfo"\r
+    BEGIN\r
+    END\r
+    BLOCK "VarFileInfo"\r
+    BEGIN\r
+    END\r
+END\r
+\r
 #endif    // English (U.K.) resources\r
 /////////////////////////////////////////////////////////////////////////////\r
 \r