ROOT based framework

Hi there!
There are tons :slight_smile: of ROOT based frameworks today …

During Christmas holidays I dug into
.NET Platform (
and was impressed by recent developments of M$.

I found very interesting project there
dotnet/arcade: Tools that provide common build infrastructure for multiple .NET Foundation projects. (

They have a folder there with funny message
arcade/eng/common at main · dotnet/arcade (

Don’t touch this folder

          u" uuuuuuuuuuuuuuuuuu "u
        u" u$$$$$$$$$$$$$$$$$$$$u "u
      u" u$$$$$$$$$$$$$$$$$$$$$$$$u "u
    u" u$$$$$$$$$$$$$$$$$$$$$$$$$$$$u "u
  u" u$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$u "u
u" u$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$u "u
$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $
$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $
$ $$$" ... "$...  ...$" ... "$$$  ... "$$$ $
$ $$$u `"$$$$$$$  $$$  $$$$$  $$  $$$  $$$ $
$ $$$$$$uu "$$$$  $$$  $$$$$  $$  """ u$$$ $
$ $$$""$$$  $$$$  $$$u "$$$" u$$  $$$$$$$$ $
$ $$$$....,$$$$$..$$$$$....,$$$$..$$$$$$$$ $
$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $
"u "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" u"
  "u "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" u"
    "u "$$$$$$$$$$$$$$$$$$$$$$$$$$$$" u"
      "u "$$$$$$$$$$$$$$$$$$$$$$$$" u"
        "u "$$$$$$$$$$$$$$$$$$$$" u"
          "u """""""""""""""""" u"

!!! Changes made in this directory are subject to being overwritten by automation !!!

The files in this directory are shared by all Arcade repos and managed by automation. If you need to make changes to these files, open an issue or submit a pull request to GitHub - dotnet/arcade: Tools that provide common build infrastructure for multiple .NET Foundation projects. first.

It would be great to have something similar in ROOT

ROOT (foundation? consolidation? basement :slight_smile: ? ) Framework

Opinions, comments?

Regards. Valeriy

Since the .NET is cross-platform now (running as many platforms as ROOT.
Most of projects have MIT license), tons of treasures can/must be stolen from there :slight_smile:

Hi @xtovo,

The ASCII art above warns that the contents of the directory might be overwritten at any point (as they might be derived from something else).

How does that connect to ROOT? What are your suggestions to use something similar in the context of the ROOT project?


Hi jalopezg!
ROOT project has very sophisticated, solid infrastructure and build system, BUT it’s for internal use only by ROOT team experts.
My idea is to take the best from it and create some “skeleton framework” for “public usage” with “golden stamp of guarantee of superior quality” (like this ASCII art) from ROOT experts. I think the code from other frameworks (AliRoot, CMS, FairRoot etc), and even from MicroSoft .NET, Google Android can be used.

regards. valeriy

Hi @xtovo,

Thanks for expressing your interest on this. I have raised this issue so that we can talk about in a future ROOT meeting.


Hi Valeriy,

We want to stay platform independent, and we use CMake. If you combine these two you’ll end up with what’s called “CMake superbuilds”. And that’s what we are aiming for. It’s very close to what Rene proposed many years back as “BOOT”, which equals superbuilds plus the download of the binaries. But that sounds like something we should be able to address, too.

For “now” (2023…) I’d like to have the first ROOT modules being moved to superbuilds. We will start with those which no other ROOT modules depends on - say Davix, the SQL ones, etc.

Once we have that fully rolled out, people can download / install a small ROOT core, and get whatever else they need on demand. In the beginning by building it, later by downloading the relevant shared library etc (“build artifacts”). Is that along the lines of what you were thinking?


“BOOT” - that’s my dream for a long time too
seems I’m back to the business.
today I signed a new position related to ROOT at Dubna
“I need a little help from my friends”
so, keep in touch :slight_smile:

one of lessons I got - it’s easy to add, but impossible to remove … without Revolution

not really.
I mean (as it done at Microsoft) the part of code which is “must have” in any project … and this code is “unmodifiable” without royal approvement.
Tools that provide common build infrastructure for multiple .NET Foundation projects.
Axel, why not to use of one of existing package managers?
From BIG ZOO, my favorites: apt, nuget, npm, pip, vcpkg

btw, nuget, npm can manage C++

Because we don’t want to / cannot tie our users to any of them, and because it doesn’t solve the underlying issue we have: layered builds where we provide say mysql on top of a minimal ROOT distribution.

That said, ROOT is available through many, many package managers, so if that’s what you’re after, please just make use of it!

Fantastic news - for us! Let us know if / how we can help!

Let’s do it smoothly

I’d like tree-like forum with img/video in

Sorry, I don’t understand.

the forum topics have “plane” structure - bad
the better is “old school” style - paragraphs
but ROOTing everywhere is our still life stile :slight_smile:

Зри в корень!

I’m looking at the cmake · Gaudi (

clever guys!

to understand who is XY
I usually say "show me your Kord! "

drinking vodka, being shizorenic , over expressing this is my personage in this comedy

We’ll cope :slight_smile:

Rene say about 10K rootalk and 30K, but as he claim there are millions of students who don won complicity of C++
You know, some time I said Rene every physick hate you cos you kill PAW. I said, give me a chance and I return tis interpreter back
His answer was NOT and he tell every sci must learn the learning curve - Genius idiot

I’m about his “future of hep computing”
read it?
It was really 10K QAs everyday, but today I cannot find any
for “Kalman & track fitting”

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.