mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
meson: fix version generation from git
run_command() was only run at configure time, meaning the generated version (that was passed on to the sources via -DFUZZEL_VERSION) became stale. Fix by implementing a shell script that generates a header file, and wrap this in a custom target that is run every time (but the generated file is only updated when the version changes)
This commit is contained in:
parent
6fd4f6000b
commit
286db002f8
4 changed files with 51 additions and 26 deletions
38
generate-version.sh
Executable file
38
generate-version.sh
Executable file
|
|
@ -0,0 +1,38 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
default_version=${1}
|
||||
src_dir=${2}
|
||||
out_file=${3}
|
||||
|
||||
# echo "default version: ${default_version}"
|
||||
# echo "source directory: ${src_dir}"
|
||||
# echo "output file: ${out_file}"
|
||||
|
||||
if command -v git > /dev/null; then
|
||||
workdir=$(pwd)
|
||||
cd "${src_dir}"
|
||||
git_version=$(git describe --always --tags)
|
||||
git_branch=$(git rev-parse --abbrev-ref HEAD)
|
||||
cd "${workdir}"
|
||||
|
||||
new_version="${git_version} ($(env LC_TIME=C date "+%b %d %Y"), branch '${git_branch}')"
|
||||
else
|
||||
new_version="${default_version}"
|
||||
fi
|
||||
|
||||
new_version="#define FOOT_VERSION \"${new_version}\""
|
||||
|
||||
if [ -f "${out_file}" ]; then
|
||||
old_version=$(cat "${out_file}")
|
||||
else
|
||||
old_version=""
|
||||
fi
|
||||
|
||||
# echo "old version: ${old_version}"
|
||||
# echo "new version: ${new_version}"
|
||||
|
||||
if [ "${old_version}" != "${new_version}" ]; then
|
||||
echo "${new_version}" > "${out_file}"
|
||||
fi
|
||||
Loading…
Add table
Add a link
Reference in a new issue