#!/bin/bash VERSION_STRING="" #GIT='/cygdrive/c/Program Files \(x86\)/Git/bin/git' GIT=git parse_git_branch () { $GIT branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/\1/" } ARCH=$1 TARGET=$2 VERSION_H=$3 SCRIPT=$(readlink -f $0) SCRIPTPATH=`dirname $SCRIPT` OUTPUTDIR=$(pwd) echo " current dir is : " $(pwd) echo $SCRIPT echo $SCRIPTPATH echo "changing dir to script path: " $SCRIPTPATH cd $SCRIPTPATH # set version string ################################################################## if [ -z $VERSION_STRING ] ; then VERSION_STRING=$(date +%Y%m%d_%H%M) fi GIT_DESCRIBE=$($GIT describe) GIT_BRANCH=$(parse_git_branch) # extract path from branchname: IFS='_' read -ra TMP_ARRAY <<< "${GIT_BRANCH}" BRANCH_PATH=${TMP_ARRAY[0]} # detect if we have a development version: if [ ${#TMP_ARRAY[1]} -gt 0 ] ; then DEV_SUFFIX="_dev" else DEV_SUFFIX="" fi # detect if git status is dirty GIT_DESCRIBE_DIRTY=$($GIT describe --dirty) if [ "${GIT_DESCRIBE_DIRTY:(-6)}" == "-dirty" ] ; then DIRTY_SUFFIX="_dirty" else DIRTY_SUFFIX="" fi if [ -n "$DIRTY_SUFFIX" ] || [ -n "$DEV_SUFFIX" ] ; then DEVDIRTY=true else DEVDIRTY=false fi # # write version.h echo " TARGET is: $TARGET" echo " ARCH is: $ARCH" echo " " echo " PluginName: $TARGET" echo " " echo " new version is: $VERSION_STRING" echo " git describe is: $GIT_DESCRIBE" echo " git branch is: $GIT_BRANCH" echo " branch-path is: $BRANCH_PATH" echo " " echo " dev suffix: $DEV_SUFFIX" echo " dirty suffix: $DIRTY_SUFFIX" APP_VERSION=${VERSION_STRING} #ATB_QT_GIT_DESCRIBE=${GIT_DESCRIBE}_${GIT_BRANCH} APP_GIT_DESCRIBE=${GIT_DESCRIBE}_${BRANCH_PATH}${DEV_SUFFIX}${DIRTY_SUFFIX} #TARGET=IngenicoZVT_CCPlugin # build version.h ##################################################################### echo " building new version info (version.h) ..." echo "#ifndef VERSION_H" > ${VERSION_H} echo "#define VERSION_H" >> ${VERSION_H} echo "" >> ${VERSION_H} echo "" >> ${VERSION_H} echo "#define APP_VERSION \"${APP_VERSION}\"" >> ${VERSION_H} echo "" >> ${VERSION_H} echo "#define APP_GIT_DESCRIBE \"${APP_GIT_DESCRIBE}\"" >> ${VERSION_H} echo "" >> ${VERSION_H} echo "" >> ${VERSION_H} echo "" >> ${VERSION_H} echo "" >> ${VERSION_H} if [ ${DEVDIRTY} == "true" ] ; then echo "#define DEVDIRTY" >> ${VERSION_H} echo "" >> ${VERSION_H} echo "" >> ${VERSION_H} fi echo "#define SYSTEM_ARCH \"${ARCH}\"" >> ${VERSION_H} echo "#define ARCH_${ARCH}" >> ${VERSION_H} echo "" >> ${VERSION_H} echo "" >> ${VERSION_H} echo "#endif //VERSION_H" >> ${VERSION_H}