Skip to content

Assign all install rules to an explicit "umf" component - #1629

Merged
lukaszstolarczuk merged 1 commit into
oneapi-src:mainfrom
lukaszstolarczuk:add-component-umf
Nov 4, 2026
Merged

lukaszstolarczuk merged 1 commit into
oneapi-src:mainfrom
lukaszstolarczuk:add-component-umf

Conversation

@lukaszstolarczuk

Copy link
Copy Markdown
Contributor

Previously most install() rules had no COMPONENT, so they were assigned to CMAKE_INSTALL_DEFAULT_COMPONENT_NAME. When UMF is embedded via FetchContent/add_subdirectory, the parent project may override that default (e.g. LLVM sets it to the external project name since intel/llvm@8673c6f2cda8), silently moving UMF's install set into a component the parent deploys. This broke intel/llvm nightly builds by leaking a static libumf.a and umf-config.cmake into the SYCL toolchain.

An explicit COMPONENT is immune to such overrides. Plain full installs (cmake --install / make install) are unaffected, and component-based installs can now select "umf" directly.

@lukaszstolarczuk
lukaszstolarczuk requested a review from a team as a code owner November 3, 2026 16:10
@lukaszstolarczuk

Copy link
Copy Markdown
Contributor Author

This is an additional update for umf component; issue was encountered in intel/llvm repo and fixed there independently (intel/llvm#23712).

@bratpiorka bratpiorka left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM :)

@lukaszstolarczuk

lukaszstolarczuk commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor Author

tested positive on SYCL CI:
intel/llvm#23719

Previously most install() rules had no COMPONENT, so they were assigned
to CMAKE_INSTALL_DEFAULT_COMPONENT_NAME. When UMF is embedded via
FetchContent/add_subdirectory, the parent project may override that
default (e.g. LLVM sets it to the external project name since
intel/llvm@8673c6f2cda8), silently moving UMF's install set into
a component the parent deploys. This broke intel/llvm nightly builds by
leaking a static libumf.a and umf-config.cmake into the SYCL toolchain.

An explicit COMPONENT is immune to such overrides. Plain full installs
(cmake --install / make install) are unaffected, and component-based
installs can now select "umf" directly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Łukasz Stolarczuk <lukasz.stolarczuk@intel.com>
@lukaszstolarczuk
lukaszstolarczuk merged commit 3b4cfac into oneapi-src:main Nov 4, 2026
153 of 154 checks passed
@lukaszstolarczuk
lukaszstolarczuk deleted the add-component-umf branch November 4, 2026 13:16
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.

3 participants