Repository navigation
[CMake] Avoid unneeded artifacts in the library installation directory - #19044
Open
guitargeek wants to merge 3 commits into
Open
guitargeek wants to merge 3 commits into
guitargeek wants to merge 3 commits into
Conversation
Test Results 19 files 19 suites 3d 5h 13m 16s ⏱️ For more details on these failures, see this check. Results for commit 17436d9. ♻️ This comment has been updated with latest results. |
guitargeek
force-pushed
the
python_install_dir
branch
from
June 14, 2025 20:58
6950325 to
cebd367
Compare
guitargeek
marked this pull request as ready for review
June 14, 2025 20:58
pcanal
reviewed
Jun 17, 2025
| install(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${byproduct}.pcm DESTINATION ${CMAKE_INSTALL_LIBDIR}) | ||
| endforeach() | ||
|
|
||
| list(APPEND core_implicit_modules "-mByproduct" "") |
Member
There was a problem hiding this comment.
What is the semantic of those additions?
guitargeek
force-pushed
the
python_install_dir
branch
from
June 21, 2025 08:09
cebd367 to
f63bcfc
Compare
guitargeek
force-pushed
the
python_install_dir
branch
from
July 14, 2025 17:43
f63bcfc to
1286fe7
Compare
pcanal
reviewed
Jul 15, 2025
| list(APPEND core_implicit_modules "-mByproduct" "ROOT_Foundation_Stage1_NoRTTI") | ||
| list(APPEND core_implicit_modules "-mByproduct" "ROOT_Foundation_C") | ||
| list(APPEND core_implicit_modules "-mByproduct" "ROOT_Rtypes") | ||
| list(APPEND core_implicit_modules "-m" "_Builtin_intrinsics") |
Member
There was a problem hiding this comment.
This looks like it would now be listed twice in core_implicit_modules, i.e. once more inside the new foreach loop.
pcanal
reviewed
Jul 15, 2025
guitargeek
force-pushed
the
python_install_dir
branch
from
July 29, 2025 22:40
1286fe7 to
c9ddf72
Compare
guitargeek
force-pushed
the
python_install_dir
branch
from
August 4, 2026 06:20
c9ddf72 to
3d23f38
Compare
Explicitly install byproducts of generating Core dictionaries, and put the CMake code right next to where these byproducts are declared. This is better than relying on all `.pcm` files getting installed via some other part of the CMake code.
Explicitly installing the `modules.idx` file is better than copying it by regex when copying the full library output directory.
Explicitly listing all the `pcm` files that otherwise would not get installed seems tedious, but it has one clear advantage over `install(DIRECTORY ...)`. The problem with the latter is that it copies any subdirectories, not matter if the files in it were matched by regex or not. So what happens is that you end up with several empty directories in the install tree, notably the full directory structure of the Python interfaces, in case they are installed to a different directory. One way to fix this is to install the individual pcm files instead, as suggested by this commit.
guitargeek
force-pushed
the
python_install_dir
branch
from
September 9, 2026 08:13
3d23f38 to
17436d9
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Avoid unneeded artifacts in the library installation directory, in particular empty directories if the Python interfaces are installed in a directory other than the library installation directory.
Motivated by:
More detail in the commit description.