Unify package version on VERSION file; bump abc2midi to 5.03 (#25)

- abc2midi 5.03 (April 2026): bumped #define VERSION in store.c to reflect this branch's accumulated fixes
(error exit status, missing C:/R:/X: header emission, %%MIDIdef macros allowed anywhere) plus the
build-system additions.
- Single source of truth for the package release date: the VERSION file is now consumed by both build
paths.
  - CMakeLists.txt reads it via file(STRINGS VERSION ABCMIDI_VERSION ...); the previously hard-coded
project(VERSION 2026.02.24) (an unused PROJECT_VERSION) is dropped because the date format isn't
MAJOR.MINOR.PATCH.
  - configure.ac uses m4_esyscmd_s([cat VERSION]) in AC_INIT, replacing the very stale hard-coded
2011-08-03.
  - The two build paths remain independent — no cross-generation between CMake and autoconf.
- Test normalization fix (tests/run_test.cmake): the version-banner regex now requires a capitalized month
and accepts a date with or without a day number. The previous regex was lowercase-permissive and silently
ate PostScript lines like 0.5 setlinewidth 0 0 moveto in yaps output — tests/golden/yaps_coleraine.txt is
regenerated to reflect the now-correctly-preserved PostScript.
- Docs:
  - doc/CHANGES: April 25 2026 entry covering the version bump and VERSION-file unification.
  - doc/readme.txt: per-tool listing updated (abc2midi 5.03 April 2026, midistats 1.03 February 20 2026
synced to source).
  - doc/abc2midi.1: header label bumped to 5.03 April 2026 (content not audited).
  - README.md: new Maintainers / releasing section documenting the release procedure, including the
requirement to run autoreconf -f so the committed configure picks up the new AC_INIT arguments.
This commit is contained in:
Ronan Keryell
2026-04-27 18:13:26 -07:00
committed by GitHub
parent 39d8c4bd78
commit 1d8d1f621c
9 changed files with 63 additions and 11 deletions

View File

@@ -1,10 +1,13 @@
cmake_minimum_required(VERSION 3.14)
# Read version from the VERSION file, matching the existing convention
file(STRINGS VERSION ABCMIDI_VERSION_STRING LIMIT_COUNT 1)
# The package release date lives in the VERSION file at the project root —
# single source of truth, also read by configure.ac (via m4_esyscmd_s) and
# installed as a doc file. We do not pass it to project(VERSION ...) because
# the date format ("April 25 2026") is not the MAJOR.MINOR.PATCH that CMake
# expects there; PROJECT_VERSION is not used elsewhere in this build.
file(STRINGS VERSION ABCMIDI_VERSION LIMIT_COUNT 1)
project(abcmidi
VERSION 2026.02.24
DESCRIPTION "ABC music notation tools: converters between ABC, MIDI, and PostScript"
LANGUAGES C
)