hiker / fab

Flexible build system for scientific software
https://metomi.github.io/fab/
Other
1 stars 0 forks source link

Improve artefact workflow #29

Closed hiker closed 2 months ago

hiker commented 2 months ago

This needs to go in after PR #28. It now uses the new enums consistently (i.e. if files are pre-processed, the .F90 files are removed and replaced with the pre-processes .f90 files), so at any stage the C/FORTRAN_BUILD_FILES contains all source files a step needs to look at.

I also updated the run_configs, esp. lfric_common now does NOT create files in source anymore, these files are now created in build/configuration (and similarly automatically added to the F90_BUILD_FILES)

hiker commented 2 months ago

Here some comments from the code review in #28, which are likely addressed here:

Would there be any scenario where we don't have any #include or #ifdef directives in the code for preprocessing, therefore not having the preprocessing step and ArtefactSet.FORTRAN_BUILD_FILES collection in ArtefactStore? In this case, do we still need SuffixFilter(ArtefactSet.ALL_SOURCE, '.f90')?

hiker commented 2 months ago

This kind of finishes the previous PR: the previous PR introduced the enums, here they will now be used consistently, which removes many of the hand-coded (i.e. string-based) artefact names, and relies on the build-in only. I've kept the string-based artefacts, in case any other tool/script/... might need them, but all standard tools should now rely only on these pre-defined artefact sets.

hiker commented 2 months ago

Ready for next review.