From 0c5571519f445b5b2fd7208dc5804fbdcb4fee0e Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@Germany> Date: Fri, 19 Dec 2008 13:20:14 +0100 Subject: [PATCH] changes to build version string - version is WM_PROJECT_VERSION prefix + SHA1 from current git head - move double quotes from make rules to global.Cver for extra safety --- src/OpenFOAM/global/global.Cver | 15 +++++++-------- wmake/rules/General/version | 2 +- wmake/wmakePrintBuild | 22 +++++++++++++--------- 3 files changed, 21 insertions(+), 18 deletions(-) diff --git a/src/OpenFOAM/global/global.Cver b/src/OpenFOAM/global/global.Cver index e67b67b22a8..e2f411603ee 100644 --- a/src/OpenFOAM/global/global.Cver +++ b/src/OpenFOAM/global/global.Cver @@ -23,20 +23,19 @@ License Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Description - Define the globals used in the FOAM library. It is important that these - are constructed in the appropriate order to avoid the use of unconstructed - data in the global namespace. + Define the globals used in the OpenFOAM library. + It is important that these are constructed in the appropriate order to + avoid the use of unconstructed data in the global namespace. - This file has the extension .ver to force it to be parsed by the script - which converts WM_PROJECT_VERSION into the appropriate version number - string. + This file has the extension .Cver to trigger a Makefile rule that converts + WM_PROJECT_VERSION into the appropriate version string. \*---------------------------------------------------------------------------*/ // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "foamVersion.H" -const char* const Foam::FOAMversion = WM_PROJECT_VERSION; +const char* const Foam::FOAMversion = "WM_PROJECT_VERSION"; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Setup an error handler for the global new operator @@ -51,7 +50,7 @@ const char* const Foam::FOAMversion = WM_PROJECT_VERSION; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "JobInfo.H" -bool Foam::JobInfo::constructed = false; +bool Foam::JobInfo::constructed(false); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Global error definitions (initialised by construction) diff --git a/wmake/rules/General/version b/wmake/rules/General/version index 3584779c67b..64f272ed088 100644 --- a/wmake/rules/General/version +++ b/wmake/rules/General/version @@ -4,7 +4,7 @@ # update version string in C++ file and in $WM_PROJECT_DIR/.build file # Cvertoo = \ - sed s/WM_PROJECT_VERSION/\"$(shell wmakePrintBuild -update)\"/ $$SOURCE > $*.C; \ + sed 's/WM_PROJECT_VERSION/$(shell wmakePrintBuild -update)/' $$SOURCE > $*.C; \ $(CC) $(c++FLAGS) -c $*.C -o $@ .Cver.dep: diff --git a/wmake/wmakePrintBuild b/wmake/wmakePrintBuild index 3232727163e..868357fe58c 100755 --- a/wmake/wmakePrintBuild +++ b/wmake/wmakePrintBuild @@ -37,13 +37,13 @@ usage() { cat<<USAGE usage: $Script [OPTION] options: - -check check git description vs. \$WM_PROJECT_DIR/.build + -check check the git head commit vs. \$WM_PROJECT_DIR/.build (exit code 0 for no changes) - -update update the \$WM_PROJECT_DIR/.build from the git description + -update update the \$WM_PROJECT_DIR/.build from the git information -version VER specify an alternative version Print the version used when building the project, in this order of precedence: - * git description + * the git head commit (prefixed with \$WM_PROJECT_VERSION) * \$WM_PROJECT_DIR/.build * \$WM_PROJECT_VERSION @@ -88,15 +88,20 @@ done build="$WM_PROJECT_DIR/.build" previous=$(tail -1 $build 2>/dev/null) -# specified a version if [ -n "$version" ] then # specified a version - no error possible rc=0 else - # building under git (could use --abbrev=32 for maximum resolution) - version=$(git describe --always --tags 2>/dev/null) + # building under git (get the head SHA1) + version=$(git show-ref --hash=12 --head HEAD 2>/dev/null) rc=$? + + # prefix with WM_PROJECT_VERSION + if [ $rc -eq 0 ] + then + version="${WM_PROJECT_VERSION}-$version" + fi fi @@ -130,17 +135,16 @@ then fi - if [ $rc -eq 0 ] then - # output the git description or -version version + # output the git information or the -version version echo $version elif [ -n "$previous" ] then # use previous build tag echo $previous else - # fallback to WM_PROJECT_VERSION + # fallback to WM_PROJECT_VERSION alone echo ${WM_PROJECT_VERSION:-unknown} fi -- GitLab