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 fromAthContainers/exceptions.h
, and replaced it with the underlyingunsigned int
type. In this context that should be fine, since even if the exact type ofCLID
is changed later on, it should (hopefully) still be possible to auto-convert it tounsigned int
even then. - The
TrigCompositeUtils
package was a mess.😦 I had to moveTrigCompositeUtils.cxx
to 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.cxx
a bit as well. So far we never needed a CLID to be defined forxAOD::IParticleContainer
in 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.cxx
work in standalone mode for now. - I removed the
MessagePrinterMock.h
public header(s). I really hated thatAsgMessaging
would provide a header file that was not usable by simply linking againstAsgMessagingLib
.😦 Since I didn't want to makeAsgMessagingLib
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 sayAsgMessagingMockLib
for 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...