More detailed file properties.
authorIain Patterson <me@iain.cx>
Fri, 27 Dec 2013 14:15:21 +0000 (14:15 +0000)
committerIain Patterson <me@iain.cx>
Fri, 27 Dec 2013 14:15:21 +0000 (14:15 +0000)
Add build information, comments and copyright to the executable's
version info fields.

nssm.rc
version.cmd

diff --git a/nssm.rc b/nssm.rc
index 3cf4d3f..3c03bb4 100644 (file)
--- a/nssm.rc
+++ b/nssm.rc
@@ -262,23 +262,33 @@ END
 //\r
 \r
 VS_VERSION_INFO VERSIONINFO\r
- FILEVERSION NSSM_VERSIONINFO\r
- PRODUCTVERSION NSSM_VERSIONINFO\r
- FILEFLAGSMASK 0x17L\r
   FILEVERSION NSSM_VERSIONINFO\r
   PRODUCTVERSION NSSM_VERSIONINFO\r
+    FILEFLAGSMASK VS_FF_DEBUG | VS_FF_PRERELEASE\r
 #ifdef _DEBUG\r
- FILEFLAGS 0x1L\r
+    FILEFLAGS NSSM_FILEFLAGS | VS_FF_DEBUG\r
 #else\r
- FILEFLAGS 0x0L\r
+    FILEFLAGS NSSM_FILEFLAGS\r
 #endif\r
- FILEOS 0x4L\r
- FILETYPE 0x1L\r
- FILESUBTYPE 0x0L\r
+    FILEOS VOS__WINDOWS32\r
+    FILETYPE VFT_APP\r
   FILESUBTYPE 0x0L\r
 BEGIN\r
     BLOCK "StringFileInfo"\r
     BEGIN\r
+        BLOCK "040904E4"\r
+        BEGIN\r
+            VALUE "Comments", "http://nssm.cc/"\r
+            VALUE "FileDescription", "The non-sucking service manager"\r
+            VALUE "FileVersion", NSSM_VERSION\r
+            VALUE "LegalCopyright", "(c) Iain Patterson"\r
+            VALUE "ProductName", "NSSM"\r
+            VALUE "ProductVersion", NSSM_VERSION\r
+        END\r
     END\r
     BLOCK "VarFileInfo"\r
     BEGIN\r
+        VALUE "Translation", LANG_ENGLISH, SUBLANG_ENGLISH_US, LANG_FRENCH, SUBLANG_FRENCH, LANG_ITALIAN, SUBLANG_ITALIAN\r
     END\r
 END\r
 \r
@@ -371,37 +381,6 @@ FONT 8, "MS Sans Serif"
 }\r
 \r
 \r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// DESIGNINFO\r
-//\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    // French resources\r
 /////////////////////////////////////////////////////////////////////////////\r
 \r
@@ -539,32 +518,6 @@ 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    // Italian (Italy) resources\r
 /////////////////////////////////////////////////////////////////////////////\r
 \r
index 536c3e6..77045c9 100644 (file)
@@ -21,13 +21,27 @@ set version=%version:~0,-1%
 set minor=%version:*.=%\r
 call set major=%%version:.%minor%=%%\r
 \r
+@rem Build flags.\r
+set flags=0L\r
+\r
 @rem Don't include n and commit if we match a tag exactly.\r
-if "%n%" == "0" set description=%major%.%minor%\r
+if "%n%" == "0" (set description=%major%.%minor%) else set flags=VS_FF_PRERELEASE\r
+@rem Maybe we couldn't get the git tag.\r
+if "%commit%" == "prerelease" set flags=VS_FF_PRERELEASE\r
 \r
 @rem Ignore the build number if this isn't Jenkins.\r
 if "%BUILD_NUMBER%" == "" set BUILD_NUMBER=0\r
 \r
+@rem Copyright year provided by Jenkins.\r
+if "%BUILD_ID%" == "" (set year=) else (\r
+  set md=%BUILD_ID:*-=%\r
+  call set year=%%BUILD_ID:%md%=%%\r
+  set year=%year:~0,-1%\r
+)\r
+\r
 @rem Create version.h.\r
 @echo>version.h #define NSSM_VERSION _T("%description%")\r
 @echo>>version.h #define NSSM_VERSIONINFO %major%,%minor%,%n%,%BUILD_NUMBER%\r
 @echo>>version.h #define NSSM_DATE _T("%DATE%")\r
+@echo>>version.h #define NSSM_FILEFLAGS %flags%\r
+@echo>>version.h #define NSSM_COPYRIGHT _T("(c) 2003-%year% Iain Patterson")\r