version.bash 408 B

123456789101112131415161718192021
  1. #!/bin/bash
  2. COMMIT_NUMBER=$(git describe --always)
  3. BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD)
  4. VERSION="$BRANCH_NAME-$COMMIT_NUMBER"
  5. DIRNAME=$(dirname "$0")
  6. source=$(cat <<EOF
  7. #include "version.h"
  8. const char git_version[] = "$VERSION";
  9. EOF
  10. )
  11. diff $DIRNAME/version.c <(echo "$source") > /dev/null 2>&1
  12. if [[ $? -ne 0 ]]
  13. then
  14. echo "Updating version source"
  15. echo "$source" > $DIRNAME/version.c
  16. fi