AnalysisBase Project FixUp, master branch (2020.02.14.)
This is meant as a replacement for both !30381 (closed) and !30387 (closed)...
There were a couple of inconvenient changes that had to be done:
- As suggested by @ssnyder, I removed the usage of the
CLIDtypedef fromAthContainers/exceptions.h, and replaced it with the underlyingunsigned inttype. In this context that should be fine, since even if the exact type ofCLIDis changed later on, it should (hopefully) still be possible to auto-convert it tounsigned inteven then. - The
TrigCompositeUtilspackage was a mess.😦 I had to moveTrigCompositeUtils.cxxto the Athena-onlysrc/subdirectory, and update the CMake configuration of the package quite a bit to remove some errors from it. - A bit connected to this, I had to tweak
TrigComposite_v1.cxxa bit as well. So far we never needed a CLID to be defined forxAOD::IParticleContainerin standalone mode. UnfortunatelyxAODCore/CLID_DEF.h, which we use in other xAOD packages, is not usable inxAODBase. So I came up with a rather hacky setup for now for makingTrigComposite_v1.cxxwork in standalone mode for now. - I removed the
MessagePrinterMock.hpublic header(s). I really hated thatAsgMessagingwould provide a header file that was not usable by simply linking againstAsgMessagingLib.😦 Since I didn't want to makeAsgMessagingLibpublicly depend on GMock, I rather moved that header to the only two places that need it.- Alternatively it would be possible to leave the header in
AsgMessaging/MessagePrinterMock, and set up a separate INTERFACE CMake library, let's sayAsgMessagingMockLibfor it. And then the two clients that need this header, would link against that library. But I didn't quite like that solution...🤔
- Alternatively it would be possible to leave the header in
As you'll see, I removed the usage of atlas_depends_on_subdirs(...) from all of the CMakeLists.txt files that I touched. Because we'd like to phase out the usage of that function in master before Run-3. (cc @fwinkl) This may cause some issues in the full Athena build, but I thought it would be still worth to put in here...
Pinging @krumnack explicitly, since he triggered all of this.
P.S. With these updates I was able to compile the AnalysisBase project for platform x86_64-centos7-gcc8-opt. Only 90% of the unit tests succeed on it, but those will have to be fixed separately...