Skip to content

feat: expose upstream f2c version to CMake consumers - #70

Merged
goroyabu merged 4 commits into
mainfrom
feat/issue-63-upstream-version
Sep 19, 2026
Merged

goroyabu merged 4 commits into
mainfrom
feat/issue-63-upstream-version

Conversation

@goroyabu

Copy link
Copy Markdown
Owner

Summary

  • read the upstream translator version from src/version.c in the selected and verified src.tgz
  • export that value as F2C_UPSTREAM_VERSION while preserving the repository release version in F2C_VERSION_STRING
  • verify parser failures and installed-package metadata, and document the version contract and upstream refresh procedure

Related Issue

Closes #63

Verification

  • cmake -S . -B build -DNET_FETCH=ON -DBUILD_TESTING=ON
  • cmake --build build --parallel
  • ctest --test-dir build --output-on-failure — 67/67 passed
  • strict offline configure/build/test with NET_FETCH=OFF and the pinned local archives — 67/67 passed
  • staged installation followed by the examples/cmake downstream project — 2/2 passed in both normal and strict offline configurations
  • focused parser tests cover valid metadata, a missing src/version.c, a malformed declaration, and duplicate declarations
  • independent code review found no concrete issues

CMake 3.20.6 is not installed locally. The existing Ubuntu 22.04 CI job will exercise the minimum supported CMake version.

Impact

CMake consumers can inspect F2C_UPSTREAM_VERSION independently of F2C_VERSION_STRING. Package compatibility checks continue to use the repository release version. Internal LIBF77 and LIBI77 component dates are not exposed.

Documentation

The README documents the two public version variables. CONTRIBUTING documents the required consistency checks for an upstream archive refresh.

Checklist

  • The change is focused on one coherent maintenance outcome.
  • Relevant local verification has been run and reported above.
  • User-facing workflows and supported behavior are documented when changed.
  • No downloaded upstream archives, extracted vendor sources, build outputs, or generated files were committed unintentionally.

@goroyabu
goroyabu merged commit 29f9213 into main Sep 19, 2026
6 checks passed
@goroyabu
goroyabu deleted the feat/issue-63-upstream-version branch September 19, 2026 02:46
@goroyabu goroyabu added the build Build system and packaging changes label Sep 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build Build system and packaging changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

build: expose the upstream f2c version to CMake consumers

1 participant