Skip to content

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 CLID typedef from AthContainers/exceptions.h, and replaced it with the underlying unsigned int type. In this context that should be fine, since even if the exact type of CLID is changed later on, it should (hopefully) still be possible to auto-convert it to unsigned int even then.
  • The TrigCompositeUtils package was a mess. 😦 I had to move TrigCompositeUtils.cxx to the Athena-only src/ 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.cxx a bit as well. So far we never needed a CLID to be defined for xAOD::IParticleContainer in standalone mode. Unfortunately xAODCore/CLID_DEF.h, which we use in other xAOD packages, is not usable in xAODBase. So I came up with a rather hacky setup for now for making TrigComposite_v1.cxx work in standalone mode for now.
  • I removed the MessagePrinterMock.h public header(s). I really hated that AsgMessaging would provide a header file that was not usable by simply linking against AsgMessagingLib. 😦 Since I didn't want to make AsgMessagingLib publicly 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 say AsgMessagingMockLib for it. And then the two clients that need this header, would link against that library. But I didn't quite like that solution... 🤔

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...

Merge request reports