Figure 4 - available via license: Creative Commons Attribution 3.0 Unported
Content may be subject to copyright.
ROOT CMake improvements: (a) ROOT CMake dependency simplification. (b) new procedure for ROOT CMake add subdirectory().

ROOT CMake improvements: (a) ROOT CMake dependency simplification. (b) new procedure for ROOT CMake add subdirectory().

Source publication
Article
Full-text available
ROOT is a large code base with a complex set of build-time dependencies; there is a significant difference in compilation time between the “core” of ROOT and the full-fledged deployment. We present results on a “delayed build” for internal ROOT packages and external packages. This gives the ability to offer a “lightweight” core of ROOT, later exten...

Contexts in source publication

Context 1
... idea is to simplify how ROOT dependencies are treated. It will allow to introduce CMake code clarity (see an example on Figure 4a) and make ROOT more modular. To enable separability of ROOT layers, inside add subdirectory() was introduced a way to treat dependencies in a standalone way: ROOT builtins via separate custom search procedure and external dependencies, using CMake f ind package(), pkg conf ig() or could be even a simple integration of any other CMake based C++ package manager, such as Conan [6] (check Figure 4b). ...
Context 2
... will allow to introduce CMake code clarity (see an example on Figure 4a) and make ROOT more modular. To enable separability of ROOT layers, inside add subdirectory() was introduced a way to treat dependencies in a standalone way: ROOT builtins via separate custom search procedure and external dependencies, using CMake f ind package(), pkg conf ig() or could be even a simple integration of any other CMake based C++ package manager, such as Conan [6] (check Figure 4b). ...

Citations

... This mindset is becoming ever more popular in HEP as well, among established tools as well as new ones. New developments in ROOT, for instance, emphasize interoperability [12] and ease of installation [13] (e.g. in conda-forge). It's be- Figure 6: Familiarity and usage of data science tools (top) and HEP data analysis tools (bottom) from the same survey as Figure 5. ...
Preprint
Full-text available
This paper was prepared by the HEP Software Foundation (HSF) PyHEP Working Group as input to the second phase of the LHCC review of High-Luminosity LHC (HL-LHC) computing, which took place in November, 2021. It describes the adoption of Python and data science tools in HEP, discusses the likelihood of future scenarios, and recommendations for action by the HEP community.