-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve header file encapsulation #16327
Comments
Hi @vgvassilev could you please perhaps share a bit of the motivation you see behind this proposal, in other words the benefits for the project? |
Pretty much the same motivation of having new headers in ROOTSYS/include/ROOT. The upshot is that the third party codebase will become clearer of that |
I remember @linev has made some progress in the past with this but then we were blocked by something wrt to modules that I do not remember... |
Some time ago we adjust cmake files so that when building ROOT libraries we using headers from source directories and not headers from I just checked $ROOTSYS/include - there are 1476 files. And going this way we will double number of files. |
Yes, that is correct but only doubling them in count and during the deprecation phase. |
Explain what you would like to see improved and how.
We should move all headers from $ROOTSYS/include to $ROOTSYS/ROOT/{component} and we should automatically generate wrapping headers that
#include
the relevant ROOT/ header with a deprecation warning.Eg.
The trampoline header file can be generated by our build system by adding a -DROOT_COMPATIBILITY switch that's on by default for few releases and then off.
ROOT version
master
Installation method
N/A
Operating system
N/A
Additional context
No response
The text was updated successfully, but these errors were encountered: