Gav Wood
11 years ago
4 changed files with 63 additions and 21 deletions
@ -0,0 +1,55 @@ |
|||||
|
CURRENT_SOURCE_DIR=$1 |
||||
|
CURRENT_BINARY_DIR=$2 |
||||
|
BUILD_TYPE=$3 |
||||
|
BUILD_PLATFORM=$4 |
||||
|
|
||||
|
echo "Current source dir: $CURRENT_SOURCE_DIR" |
||||
|
echo "Current binary dir: $CURRENT_BINARY_DIR" |
||||
|
echo "Build type: $BUILD_TYPE" |
||||
|
echo "Build platform: $BUILD_PLATFORM" |
||||
|
|
||||
|
if [[ -e "$CURRENT_SOURCE_DIR/BuildInfo.h" ]] |
||||
|
then |
||||
|
echo "Using existing BuildInfo.h" |
||||
|
cp $CURRENT_SOURCE_DIR/BuildInfo.h $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
else |
||||
|
if [[ -e "$CURRENT_SOURCE_DIR/.git" ]] |
||||
|
then |
||||
|
ETH_COMMIT_HASH=$(git --git-dir=$CURRENT_SOURCE_DIR/.git --work-tree=$CURRENT_SOURCE_DIR rev-parse HEAD) |
||||
|
ETH_LOCAL_CHANGES=$(git --git-dir=$CURRENT_SOURCE_DIR/.git --work-tree=$CURRENT_SOURCE_DIR diff --shortstat) |
||||
|
if [[ -z "$ETH_LOCAL_CHANGES" ]] |
||||
|
then |
||||
|
ETH_CLEAN_REPO=1 |
||||
|
else |
||||
|
ETH_CLEAN_REPO=0 |
||||
|
fi |
||||
|
|
||||
|
echo "Commit hash: ${ETH_COMMIT_HASH} (Clean: ${ETH_CLEAN_REPO} - ${ETH_LOCAL_CHANGES})" |
||||
|
else |
||||
|
echo "Unknown repo." |
||||
|
ETH_COMMIT_HASH=0 |
||||
|
ETH_CLEAN_REPO=1 |
||||
|
fi |
||||
|
|
||||
|
echo "// This file was automatically generated by cmake" > $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
echo "" >> $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
echo "#pragma once" >> $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
echo "" >> $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
echo "#define ETH_COMMIT_HASH $ETH_COMMIT_HASH" >> $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
echo "#define ETH_CLEAN_REPO $ETH_CLEAN_REPO" >> $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
echo "#define ETH_BUILD_TYPE $BUILD_TYPE" >> $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
echo "#define ETH_BUILD_PLATFORM $BUILD_PLATFORM" >> $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
fi |
||||
|
|
||||
|
if [[ -e "$CURRENT_BINARY_DIR/BuildInfo.h" ]] |
||||
|
then |
||||
|
DIFF=$(diff $CURRENT_BINARY_DIR/BuildInfo.h $CURRENT_BINARY_DIR/BuildInfo.h.tmp) |
||||
|
if [[ -z "$DIFF" ]] |
||||
|
then |
||||
|
rm $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
else |
||||
|
mv $CURRENT_BINARY_DIR/BuildInfo.h.tmp $CURRENT_BINARY_DIR/BuildInfo.h |
||||
|
fi |
||||
|
else |
||||
|
mv $CURRENT_BINARY_DIR/BuildInfo.h.tmp $CURRENT_BINARY_DIR/BuildInfo.h |
||||
|
fi |
Loading…
Reference in new issue