12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- @rem Set default version in case git isn't available.
- set description=0.0-0-prerelease
- @rem Get canonical version from git tags, eg v2.21-24-g2c60e53.
- for /f %%v in ('git describe --tags --long') do set description=%%v
- @rem Strip leading v if present, eg 2.21-24-g2c60e53.
- set description=%description:v=%
- set version=%description%
- @rem Get the number of commits and commit hash, eg 24-g2c60e53.
- set n=%version:*-=%
- set commit=%n:*-=%
- call set n=%%n:%commit%=%%
- set n=%n:~0,-1%
- @rem Strip n and commit, eg 2.21.
- call set version=%%version:%n%-%commit%=%%
- set version=%version:~0,-1%
- @rem Find major and minor.
- set minor=%version:*.=%
- call set major=%%version:.%minor%=%%
- @rem Build flags.
- set flags=0L
- @rem Don't include n and commit if we match a tag exactly.
- if "%n%" == "0" (set description=%major%.%minor%) else set flags=VS_FF_PRERELEASE
- @rem Maybe we couldn't get the git tag.
- if "%commit%" == "prerelease" set flags=VS_FF_PRERELEASE
- @rem Ignore the build number if this isn't Jenkins.
- if "%BUILD_NUMBER%" == "" set BUILD_NUMBER=0
- @rem Copyright year provided by Jenkins.
- set md=%BUILD_ID:*-=%
- call set year=%%BUILD_ID:%md%=%%
- set year=%year:~0,-1%
- if "%BUILD_ID%" == "" set year=
- @rem Create version.h.
- @echo>version.h.new #define NSSM_VERSION _T("%description%")
- @echo>>version.h.new #define NSSM_VERSIONINFO %major%,%minor%,%n%,%BUILD_NUMBER%
- @echo>>version.h.new #define NSSM_DATE _T("%DATE%")
- @echo>>version.h.new #define NSSM_FILEFLAGS %flags%
- @echo>>version.h.new #define NSSM_COPYRIGHT _T("Public Domain; Author Iain Patterson 2003-%year%")
- fc version.h version.h.new >NUL: 2>NUL:
- if %ERRORLEVEL% == 0 (del version.h.new) else (move /y version.h.new version.h)
|