Closed nathanwbrei closed 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 #if
s and #ifdef
s. Now they are all uniformly #if
because we are creating a closed world assumption for JANA2's compilation options. (Think spack, not autoconf!)
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 notablyJANA2_HAVE_PODIO
) which are exported as part of the CMake target instead of being baked intojana-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.