#!/bin/sh msg() { if [ -t 1 ]; then printf " \033[1;32m**\033[0m %s\n" "$@" else printf "** %s\n" "$@" fi } main() { if [ $# -eq 0 ]; then set -- "$(git describe --tags --dirty=-dev)" fi GIT_TAG_NAMESPACE=$(echo "v$1" | sed "s/[^a-zA-Z0-9_]/_/g") msg "Current version: $1" sed -r "/#define GIT_TAG/s/GIT_TAG .*/GIT_TAG \"$1\"/" -i include/version.hpp sed -r "/#define GIT_TAG_NAMESPACE/s/GIT_TAG_NAMESPACE .*/GIT_TAG_NAMESPACE $GIT_TAG_NAMESPACE/" -i include/version.hpp if git diff include/version.hpp 2>/dev/null | grep -q .; then msg "Updated include/version.hpp" else msg " is already up-to-date" fi } main "$@"