cherry-pick all AsgTools updates from 21.2 into master

Merged Nils Erik Krumnack requested to merge krumnack/athena:asg_tools_sweep into master

Mostly I was interested in getting !20396 (merged) into master, but the sweep failed as master is woefully behind 21.2 for AsgTools updates, so I now did a cherry-pick of all updates we made since July 2017 (when @akraszna did the last big update of the package in the master).

Now this is a fairly substantial update to a fairly central package. We'll have to do this (or something like it) eventually, but we may want to apply some caution when merging this in.

Complete list of commits cherry-picked:

  • d9072d1a handle EventLoop algorithms correctly as tool parents
  • f4ecf492 fix setting float properties from string
  • fbc70ffc fix unit test for ANA_CHECK
  • fb34aec0 fix unit tests
  • b270a550 change the way AnaToolHandle creates tools
  • bc25f631 remove unneeded local variable
  • eba4b7df switch to linking either gtest or gmock
  • 43f85b93 change ut_MessageCheck to use gtest
  • 3141bb8c Merge branch 'asg_tool_creation' into '21.2'
  • 3d44ae24 add a command line utility to check that tools can be created
  • cbb734fd change the regular expression for tool names
  • 62b5af99 support reading/writing enum properties via strings
  • 35d084a0 improve type casting for setting tool properties
  • 3e218c20 change how OutputLevel property gets registered
  • 490ca69c Numerous improvements to how different analysis algs work
  • 81f972d2 Fix standalone dictionary compilation
  • c6db83cc create AsgTesting package from AsgTools package
  • 807af8dc cmake dependency fix for Athena
  • 6bcd5bf2 add AsgTools label to all of our unit tests

Merge request reports