The cmake configuration of several ilcsoft packages is pretty old and could potentially profit from exploiting newer cmake functionalities and in general newer cmake paradigms, e.g. target based configurations. Since LCIO is at the very base of everything, it could serve as a good starting point to check what would need changing and could then serve as an example for other packages as well.
A few points that should be decided/considered beforehand:
A more modern cmake configuration has the potential to make some of the cmake macros that are part of ilcsoft obsolete, as cmake can now handle many things for which these macros were originally designed by itself. To which degree we can remove these macros is hard to estimate and will be something we find out along the way.
Other TODOs (keeping them here because then they show up as X of Y in the overview):
The cmake configuration of several ilcsoft packages is pretty old and could potentially profit from exploiting newer cmake functionalities and in general newer cmake paradigms, e.g. target based configurations. Since LCIO is at the very base of everything, it could serve as a good starting point to check what would need changing and could then serve as an example for other packages as well.
A few points that should be decided/considered beforehand:
XXX_LIBRARIES,XXX_INCLUDE_DIRSapproach can co-exist (see, e.g. SIO, so that it should be possible to update this package by package without breaking everything while updating.A more modern cmake configuration has the potential to make some of the cmake macros that are part of ilcsoft obsolete, as cmake can now handle many things for which these macros were originally designed by itself. To which degree we can remove these macros is hard to estimate and will be something we find out along the way.
Other TODOs (keeping them here because then they show up as X of Y in the overview):
FindPythonto detect pythonBUILD_TESTINGoption is considered for all tests