Skip to content

Generate CMake intermediates in the build tree - #235

Draft
krystophny wants to merge 1 commit into
PrincetonUniversity:masterfrom
itpplasma:upstream/cmake-generated-source-boundary
Draft

krystophny wants to merge 1 commit into
PrincetonUniversity:masterfrom
itpplasma:upstream/cmake-generated-source-boundary

Conversation

@krystophny

@krystophny krystophny commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

CMake configure writes AWK-generated Fortran intermediates into the source directory. In particular, the compilation banner embeds the current date, so every configure changes the source again and prevents a resident source-capture verifier from reaching a stable generation.

Generate msphdf5.f90 and mxspech.f90 in CMAKE_CURRENT_BINARY_DIR and feed those paths to the existing preprocessing pipeline. This also permits independent build directories to keep their generated sources separate. The numerical source is unchanged.

Verification is in progress: a bounded native CMake build checks that two consecutive configure operations leave every source file unchanged, runs the registered CTests and rechecks the original resident-capture reproducer. The code change is two output-path substitutions.

Verified final integration f59825d: Slurm 3361820 completed a native CMake build and both analytic CTests, and two consecutive configure operations left every source file unchanged. Slurm 3361834 passed the full two-case resident Gremlin gate, generation 88041b8524e47c290baf1a33bd7a15bc04946fa4f9ee1d0e8c0ee2a2ed522ca9 (local gate green and fully verified). The existing four native reference comparisons also pass at unchanged tolerances for the identical computational Fortran source. The companion generated-source path fix is tracked separately in upstream PR #235. No production equilibrium acceptance is inferred.

Chris&AI

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant