CMakeVersion.bash 817 B

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