Skip to content

[cmake] Don't store build directory include paths in dictionaries - #23704

Merged
dpiparo merged 1 commit into
root-project:masterfrom
jmcarcell:dict-exclude-build-dir
Oct 14, 2026
Merged

dpiparo merged 1 commit into
root-project:masterfrom
jmcarcell:dict-exclude-build-dir

Conversation

@jmcarcell

@jmcarcell jmcarcell commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

This Pull request:

Changes or fixes:

Dictionaries of ROOT libraries store the build directory include path (${CMAKE_BINARY_DIR}/include) in their includePaths[], which is added to the interpreter when the library is loaded. In an installed ROOT this path does not exist anymore, but it still shows up in gSystem->GetIncludePath(), for example (for any ROOT built in the LCG stacks):

-I"/build/jenkins/workspace/lcg_nightly_pipeline/build/projects/ROOT-14a58f74/src/ROOT-14a58f74-build/include"

The include directory is already added by TCling at startup with TROOT::GetIncludeDir(), so storing it in the dictionaries is not needed, also when running from the build directory. The whole build directory used to be excluded before e1751b1, which narrowed the exclusion to ginclude, externals and builtins. The non-module branch of ROOT_GENERATE_DICTIONARY still excludes all of ${CMAKE_BINARY_DIR}. The paths are still passed to rootcling for parsing, only the stored list changes.

Checklist:

  • tested changes locally
  • updated the docs (if necessary)

@github-actions

github-actions Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

Test Results

    24 files      24 suites   3d 23h 28m 57s ⏱️
 3 888 tests  3 883 ✅ 0 💤 5 ❌
83 225 runs  83 219 ✅ 0 💤 6 ❌

For more details on these failures, see this check.

Results for commit 98b2ddd.

♻️ This comment has been updated with latest results.

@dpiparo

dpiparo commented Oct 14, 2026

Copy link
Copy Markdown
Member

Thanks! To be checked by ROOT if this is also related #14296

@jmcarcell

Copy link
Copy Markdown
Contributor Author

This is only a single path, there are more and this is one way how they can be removed: #14296

@dpiparo
dpiparo merged commit 9ecf19f into root-project:master Oct 14, 2026
52 of 59 checks passed
@jmcarcell

jmcarcell commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor Author

The path in the description is now gone in dev3 builds

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants