David Bremner committed some fixes.
[nssm.git] / version.cmd
index 536c3e6..0e21635 100644 (file)
@@ -21,13 +21,29 @@ 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
+set md=%BUILD_ID:*-=%\r
+call set year=%%BUILD_ID:%md%=%%\r
+set year=%year:~0,-1%\r
+if "%BUILD_ID%" == "" set year=\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.new #define NSSM_VERSION _T("%description%")\r
+@echo>>version.h.new #define NSSM_VERSIONINFO %major%,%minor%,%n%,%BUILD_NUMBER%\r
+@echo>>version.h.new #define NSSM_DATE _T("%DATE%")\r
+@echo>>version.h.new #define NSSM_FILEFLAGS %flags%\r
+@echo>>version.h.new #define NSSM_COPYRIGHT _T("Public Domain; Author Iain Patterson 2003-%year%")\r
+\r
+fc version.h version.h.new >NUL: 2>NUL:\r
+if %ERRORLEVEL% == 0 (del version.h.new) else (move /y version.h.new version.h)\r