diff --git a/.gitlab/ci/cmake_version_update.sh b/.gitlab/ci/cmake_version_update.sh index 6b90f84fb5..3c05dfeb23 100755 --- a/.gitlab/ci/cmake_version_update.sh +++ b/.gitlab/ci/cmake_version_update.sh @@ -25,7 +25,7 @@ for try in $(seq $n); do git reset -q --hard FETCH_HEAD Source/CMakeVersion.bash git update-index -q --ignore-missing --refresh - modified=$(git diff-index --name-only HEAD -- "Source/CMakeVersion.cmake") + modified=$(git diff-index --name-only HEAD -- "Source/CMakeVersion.cmake" "Copyright.txt") if test -n "$modified"; then echo "version changed" git add -u diff --git a/Source/CMakeVersion.bash b/Source/CMakeVersion.bash index 853b0ca288..59f8ec284a 100755 --- a/Source/CMakeVersion.bash +++ b/Source/CMakeVersion.bash @@ -1,7 +1,17 @@ #!/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/ -' "${BASH_SOURCE%/*}/CMakeVersion.cmake" +' "$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