Commit 0c557151 authored by Mark Olesen's avatar Mark Olesen
Browse files

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
parent 5f7d2acb
......@@ -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)
......
......@@ -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:
......
......@@ -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
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment