CMake/Source/CMakeVersion.bash
Brad King 1f3eb6c4d4 ci: update copyright year as part of CMake Nightly Date Stamp
Extend commit 0f82d07266 (ci: add job to update CMake Nightly Date
Stamp, 2024-12-17) to update the year range in `Copyright.txt` on
January 1 so we don't have to update it manually once per year.
Our `CMake.Copyright` test verifies that these match.
2024-12-18 09:04:14 -05:00

18 lines
817 B
Bash
Executable File

#!/usr/bin/env bash
# Update the version component if it looks like a date or -f is given.
version_file="${BASH_SOURCE%/*}/CMakeVersion.cmake"
if test "x$1" = "x-f"; then shift ; n='*' ; else n='\{8\}' ; fi
if test "$#" -gt 0; then echo 1>&2 "usage: CMakeVersion.bash [-f]"; exit 1; fi
sed -i -e '
s/\(^set(CMake_VERSION_PATCH\) [0-9]'"$n"'\(.*\)/\1 '"$(date +%Y%m%d)"'\2/
' "$version_file"
# Update the copyright notice to match the version date's year.
if version_patch_line=$(grep -E '^set\(CMake_VERSION_PATCH [0-9]{8}\)' "$version_file"); then
version_patch_year="${version_patch_line:24:4}"
if [[ "$version_patch_year" =~ ^[0-9][0-9][0-9][0-9]$ ]] ; then
sed -i -e '
s/\(^Copyright 2000-\)[0-9][0-9][0-9][0-9]\( .*\)/\1'"$version_patch_year"'\2/
' "${BASH_SOURCE%/*}/../Copyright.txt"
fi
fi