JeffersonLab / JANA2

Multi-threaded HENP Event Reconstruction
https://jeffersonlab.github.io/JANA2/
Other
6 stars 9 forks source link

Clean up jana-config.h #265

Closed nathanwbrei closed 1 week ago

nathanwbrei commented 8 months ago

jana-config.h captures a bunch of preprocessor defines and ensures that downstream code sees the same values that libJANA was compiled with. However, it has a bunch of inconsistencies, and it isn't trivial to resolve them because of how they tie in with halld_recon. Meanwhile, we have other, similar preprocessor defines (most notably JANA2_HAVE_PODIO) which are exported as part of the CMake target instead of being baked into jana-config.h.

There is a great conversation about what to do about all of this over in PR #264. However, I would like to merge that PR now and worry about this issue later.

nathanwbrei commented 1 week ago

This issue is fully addressed by PR #313. jana_config.h no longer exists, and the preprocessor defines JANA2_HAVE_{ROOT,Podio,Xerces} are all set exactly once in JVersion.h and the user can't modify them after compilation. Also note that these used to be a mixture of #ifs and #ifdefs. Now they are all uniformly #if because we are creating a closed world assumption for JANA2's compilation options. (Think spack, not autoconf!)