Skip to content

[cmake] modernize and simplify RConfigure, RVersion and RConfig generation - #23291

Draft
ferdymercury wants to merge 5 commits into
root-project:masterfrom
ferdymercury:rconfigmodern5
Draft

ferdymercury wants to merge 5 commits into
root-project:masterfrom
ferdymercury:rconfigmodern5

Conversation

@ferdymercury

@ferdymercury ferdymercury commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

This Pull request:

Changes or fixes:

skip-ci, posting here just to give the idea.

Builds on top of #23261

It opens up the possibility of not having to depend everything on Core if one just wants RConfig / RConfigure headers.

Follow-up also have Rtypes.h outside of Core. Would disentangle some build dependencies. Maybe it helps for #6432

And to work also on root-config https://its.cern.ch/jira/browse/ROOT-8061

inbuilt configure file and mention also current cplusplus not just ROOT in error message
@ferdymercury ferdymercury added the skip ci Skip the full builds on the actions runners label Sep 7, 2026
@ferdymercury ferdymercury reopened this Sep 7, 2026
@ferdymercury ferdymercury changed the title [skip-ci,cmake] modernize and simplify RConfigure, RVersion and RConfig generation [cmake] modernize and simplify RConfigure, RVersion and RConfig generation Sep 7, 2026
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

Test Results

0 tests   0 ✅  0s ⏱️
0 suites  0 💤
0 files    0 ❌

Results for commit 9f57ee8.

♻️ This comment has been updated with latest results.

Comment thread cmake/modules/RootConfiguration.cmake Outdated
Comment thread cmake/modules/RootConfiguration.cmake Outdated
Comment thread cmake/modules/RootConfiguration.cmake Outdated
Comment thread cmake/modules/RootConfiguration.cmake Outdated
from copilot sister PR pcanal

Co-authored-by: ferdymercury <ferdymercury@users.noreply.github.com>
@ferdymercury ferdymercury added this to the 6.44.00 milestone Sep 15, 2026
guitargeek pushed a commit that referenced this pull request Sep 19, 2026
The generated compiledata.h header is only meant to be used internally
by ROOT to set up ACLiC, but it was missing header guards and could be
included by user code without any warning.

- Add header guards to the header generated by cmake/unix/compiledata.sh.
- Emit a #warning when the header is included from outside ROOT
  internals, i.e. unless ROOT_compiledata_cxx, G__DICTIONARY or
  __ACLIC__ is defined. The warning says the header will be renamed
  in ROOT 6.44 and points users to gSystem instead.
- Define ROOT_compiledata_cxx in the four internal users (TSystem,
  TCling, TFile, TApplicationServer) to silence the warning there.
- Add a note to the v6.42 release notes.

The header is kept for now because it is useful for debugging user
installations. A follow-up could rename it and/or expose the same
information in a supported way (e.g. via CMake targets, see #23291),
keeping it as the single source of truth for the ACLiC command line.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip ci Skip the full builds on the actions runners

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants