Rearrange the way mercurial-less build works (see issue 1342):
The cmake option AUTOMATED_BUILD_SYSTEM is removed and replaced by an automated detection. Now it is possible to ship source tarballs that build without mercurial on all platforms. The needed information is generated by the script tools/generateReleaseInfo.{sh,bat} before the tarball is build.
This commit is contained in:
14
tools/generateReleaseInfo
Executable file
14
tools/generateReleaseInfo
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
hgBranch="`hg branch`"
|
||||
hgLatesttag="`hg parents --template '{latesttag}'`"
|
||||
hgLatesttagdistance="`hg parents --template '{latesttagdistance}'`"
|
||||
hgChangeset="`hg parents --template '{node|short}'`"
|
||||
|
||||
echo "set(HG_BRANCH $hgBranch)
|
||||
set(HG_VERSION $hgLatesttag.$hgLatesttagdistance)
|
||||
set(HG_CHANGESET $hgChangeset)
|
||||
set(HG_TAGDISTANCE $hgLatesttagdistance)
|
||||
if (CACHE_NAME_SUFFIX STREQUAL \"\")
|
||||
set(CACHE_NAME_SUFFIX $hgLatesttag)
|
||||
endif()" > ReleaseInfo.cmake
|
||||
|
14
tools/generateReleaseInfo.bat
Normal file
14
tools/generateReleaseInfo.bat
Normal file
@@ -0,0 +1,14 @@
|
||||
@echo off
|
||||
for /f "tokens=*" %%a in ('hg branch') do @set hgBranch=%%a
|
||||
for /f "tokens=*" %%a in ('hg parents --template "{latesttag}"') do @set hgLatesttag=%%a
|
||||
for /f "tokens=*" %%a in ('hg parents --template "{latesttagdistance}"') do @set hgLatesttagdistance=%%a
|
||||
for /f "tokens=*" %%a in ('hg parents --template "{node|short}"') do @set hgChangeset=%%a
|
||||
|
||||
echo set(HG_BRANCH %hgBranch%) > ReleaseInfo.cmake
|
||||
echo set(HG_VERSION %hgLatesttag%.%hgLatesttagdistance%) >> ReleaseInfo.cmake
|
||||
echo set(HG_CHANGESET %hgChangeset%) >> ReleaseInfo.cmake
|
||||
echo set(HG_TAGDISTANCE %hgLatesttagdistance%) >> ReleaseInfo.cmake
|
||||
echo if (CACHE_NAME_SUFFIX STREQUAL "") >> ReleaseInfo.cmake
|
||||
echo set(CACHE_NAME_SUFFIX %hgLatesttag%) >> ReleaseInfo.cmake
|
||||
echo endif() >> ReleaseInfo.cmake
|
||||
|
Reference in New Issue
Block a user