feat(version): single-source semver, ext-state stamp, show-version action

Version "0.9.01" sourced once from CMake via configure_file'd header; pure
app_version module (parse/compare/classify) with CTest. Stamp rides the persist
save seam under "reasampler"/"version"; absent stamp reads as pre-versioning.
On-demand "show version" action, no startup print.
This commit is contained in:
2026-07-26 15:16:55 -04:00
parent 791a9c60eb
commit f6dddbf5a3
8 changed files with 409 additions and 2 deletions
+9
View File
@@ -0,0 +1,9 @@
#pragma once
// version_generated.h.in — configure_file TEMPLATE. CMake substitutes @REASAMPLER_VERSION@
// (the ONE source-of-truth variable in CMakeLists.txt) and writes the result to the build
// tree as version_generated.h. DO NOT edit the generated header — edit REASAMPLER_VERSION
// in CMakeLists.txt; that single edit re-generates this and re-threads the exact string
// (leading zero preserved verbatim) into the binary constant, the ext-state stamp, and the
// show-version action. See app_version.h / .cpp.
#define REASAMPLER_VERSION_STRING "@REASAMPLER_VERSION@"