Skip to content

[RFC,cmake] A layer of smoke: avoid by using file sets for library generation - #23061

Draft
ferdymercury wants to merge 4 commits into
root-project:masterfrom
ferdymercury:cmakerfc
Draft

[RFC,cmake] A layer of smoke: avoid by using file sets for library generation#23061
ferdymercury wants to merge 4 commits into
root-project:masterfrom
ferdymercury:cmakerfc

Conversation

@ferdymercury

@ferdymercury ferdymercury commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

This Pull request:

Changes or fixes:

Note: this PR is totally experimental. It does not build, that's why it's marked as skip ci.

ROOT CMake macros are often... "a layer of smoke", masking common things such as PUBLIC and PRIVATE with ambiguous names such as DEPENDENCIES and LIBRARIES. No outside user (and often not inside ones) will know what they mean unless looking carefully in the instructions.

With CMake FILE_SETs, some macro stuff can be replaced with more standard CMake terminology. Clear advantage: an outside user with CMake knowledge will immediately know what you are doing no matter if it's the first time they look into ROOT. Otherwise, you need to dive in into a lot of cryptic macro layers...

This is a non-working draft, it specifies more the structure /philosophy rather than being functional. For discussion and sandbox experiments, the small xroofit library was chosen.

See also discussion in #20533 (comment)

Depends on #19941 --> maybe in November after branching 6.42 it can be merged ? Since the release of 6.44 will match ubu22 EOL so no longer cmake 3.22 ?

@ferdymercury ferdymercury added the skip ci Skip the full builds on the actions runners label Aug 10, 2026
@ferdymercury ferdymercury changed the title [experimental,RF] A layer of smoke: avoid by using file sets for library generation [RFC,cmake] A layer of smoke: avoid by using file sets for library generation Aug 10, 2026
@github-actions

github-actions Bot commented Aug 10, 2026

Copy link
Copy Markdown

Test Results

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

Results for commit 1a71b1b.

♻️ This comment has been updated with latest results.

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.

1 participant