diff --git a/applications/test/foamVersion/foamVersionString.C b/applications/test/foamVersion/foamVersionString.C index 05b3db51b5..be63290a30 100644 --- a/applications/test/foamVersion/foamVersionString.C +++ b/applications/test/foamVersion/foamVersionString.C @@ -26,7 +26,7 @@ Application foamVersionString.C Description - Print the FOAMversion string. + Print the OpenFOAM version strings. Simultaneously the smallest possible program to use a minimal bit of the OpenFOAM library @@ -37,7 +37,10 @@ Description int main() { - std::cerr<< "FOAMversion " << Foam::FOAMversion << "\n"; + std::cerr + << "build " << Foam::FOAMbuild << "\n" + << "version " << Foam::FOAMversion << "\n"; + return 0; } diff --git a/src/Allwmake b/src/Allwmake index e0324141cd..39ce3f16f1 100755 --- a/src/Allwmake +++ b/src/Allwmake @@ -2,7 +2,7 @@ cd ${0%/*} || exit 1 # run from this directory set -x -# update Foam::FOAMversion string if required +# update OpenFOAM version strings if required wmakePrintBuild -check || /bin/rm -f OpenFOAM/Make/$WM_OPTIONS/global.? 2>/dev/null wmakeLnInclude -f OpenFOAM diff --git a/src/OpenFOAM/db/IOobject/IOobjectI.H b/src/OpenFOAM/db/IOobject/IOobjectI.H index 2407507c86..8e8a05f04b 100644 --- a/src/OpenFOAM/db/IOobject/IOobjectI.H +++ b/src/OpenFOAM/db/IOobject/IOobjectI.H @@ -38,7 +38,7 @@ inline void Foam::IOobject::writeBanner(Stream& os, bool noHint) { memset(spaces, ' ', 40); - size_t len = strlen(Foam::FOAMversion); + size_t len = strlen(Foam::FOAMbuild); if (len < 38) { spaces[38 - len] = '\0'; @@ -64,7 +64,7 @@ inline void Foam::IOobject::writeBanner(Stream& os, bool noHint) os << "| ========= | |\n" "| \\\\ / F ield | OpenFOAM: The Open Source CFD Toolbox |\n" - "| \\\\ / O peration | Version: " << FOAMversion << spaces << "|\n" + "| \\\\ / O peration | Version: " << FOAMbuild << spaces << "|\n" "| \\\\ / A nd | Web: www.OpenFOAM.org |\n" "| \\\\/ M anipulation | |\n" "\\*---------------------------------------------------------------------------*/\n"; diff --git a/src/OpenFOAM/global/foamVersion.H b/src/OpenFOAM/global/foamVersion.H index fbebf86bc4..f6f8a7c6de 100644 --- a/src/OpenFOAM/global/foamVersion.H +++ b/src/OpenFOAM/global/foamVersion.H @@ -35,6 +35,12 @@ Global Description OpenFOAM version number static string. +Global + Foam::FOAMbuild + +Description + OpenFOAM version number static string with build information + SourceFiles global.Cver @@ -48,6 +54,7 @@ SourceFiles namespace Foam { extern const char* const FOAMversion; + extern const char* const FOAMbuild; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/OpenFOAM/global/global.Cver b/src/OpenFOAM/global/global.Cver index 8bcd7e7728..677c30ecc7 100644 --- a/src/OpenFOAM/global/global.Cver +++ b/src/OpenFOAM/global/global.Cver @@ -28,14 +28,15 @@ Description avoid the use of unconstructed data in the global namespace. This file has the extension .Cver to trigger a Makefile rule that converts - WM_PROJECT_VERSION into the appropriate version string. + 'VERSION\_STRING' and 'BUILD\_STRING' into the appropriate strings. \*---------------------------------------------------------------------------*/ // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "foamVersion.H" -const char* const Foam::FOAMversion = "WM_PROJECT_VERSION"; +const char* const Foam::FOAMversion = "VERSION_STRING"; +const char* const Foam::FOAMbuild = "BUILD_STRING"; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Static initializers for string::null, word::null and fileName::null diff --git a/wmake/rules/General/version b/wmake/rules/General/version index 64f272ed08..11f83c7b74 100644 --- a/wmake/rules/General/version +++ b/wmake/rules/General/version @@ -1,10 +1,12 @@ .SUFFIXES: .Cver # -# update version string in C++ file and in $WM_PROJECT_DIR/.build file +# update version strings in C++ file and in $WM_PROJECT_DIR/.build file # Cvertoo = \ - sed 's/WM_PROJECT_VERSION/$(shell wmakePrintBuild -update)/' $$SOURCE > $*.C; \ + sed -e 's/VERSION_STRING/$(shell wmakePrintBuild -major)/' \ + -e 's/BUILD_STRING/$(shell wmakePrintBuild -update)/' \ + $$SOURCE > $*.C; \ $(CC) $(c++FLAGS) -c $*.C -o $@ .Cver.dep: diff --git a/wmake/wmakePrintBuild b/wmake/wmakePrintBuild index 13009261da..d82c9ef92d 100755 --- a/wmake/wmakePrintBuild +++ b/wmake/wmakePrintBuild @@ -39,7 +39,8 @@ usage: $Script [OPTION] options: -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 information + -major report \$WM_PROJECT_VERSION only and exit + -update update \$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: @@ -65,6 +66,10 @@ do checkOnly=true shift ;; + -major) + echo ${WM_PROJECT_VERSION:-unknown} + exit 0 + ;; -u | -update) update=true shift