Skip to content

Comments

ENH: Support installation of FILE_SET HEADER for module targets#5801

Merged
hjmjohnson merged 1 commit intoInsightSoftwareConsortium:mainfrom
blowekamp:install_file_set_headers
Feb 18, 2026
Merged

ENH: Support installation of FILE_SET HEADER for module targets#5801
hjmjohnson merged 1 commit intoInsightSoftwareConsortium:mainfrom
blowekamp:install_file_set_headers

Conversation

@blowekamp
Copy link
Member

These changes relate to installation and include of headers with proxTV for the TotalVariations remote module:
phcerdan/proxTV@use_eigen...phcerdan:proxTV:itk_installation

For proxTV, instead of tracking all the variable and installation code the header files are associated with the proxTV::proxTB with as a FILE_SET. The installation and appropriate include paths are easier manages by the ITK's module macros.

PR Checklist

  • No API changes were made (or the changes have been approved)
  • No major design changes were made (or the changes have been approved)
  • Added test (or behavior not changed)
  • Updated API documentation (or API not changed)
  • Added license to new files (if any)
  • Added Python wrapping to new files (if any) as described in ITK Software Guide Section 9.5
  • Added ITK examples for all new major features (if any)

Refer to the ITK Software Guide for
further development details if necessary.

@github-actions github-actions bot added type:Infrastructure Infrastructure/ecosystem related changes, such as CMake or buildbots type:Enhancement Improvement of existing methods or implementation labels Feb 13, 2026
Copy link
Member

@dzenanz dzenanz left a comment

Choose a reason for hiding this comment

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

I don't exactly understand the problem, but I have no objections to this change.

ARCHIVE
DESTINATION ${${itk-module}_INSTALL_ARCHIVE_DIR}
COMPONENT Development
FILE_SET
Copy link
Member Author

Choose a reason for hiding this comment

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

Per CMake documentation this was added in CMake 3.23:
https://cmake.org/cmake/help/latest/command/install.html

ITK currently requires only 3.22.

This require CMake >=3.23, which remote modules can optionally
do. Using FILE_SET property allows associating header files with a
target, simplifying include paths and installation.
@blowekamp blowekamp force-pushed the install_file_set_headers branch from 49140ed to b439948 Compare February 17, 2026 14:51
@blowekamp
Copy link
Member Author

I don't exactly understand the problem, but I have no objections to this change.

This PR optionally add support for FILE_SET properties on targets if the CMake version support it.While proxTV change is outside the scope of this PR, it is the motivation for this change. Using this feature greatly simplifies the third party library installation.

@blowekamp blowekamp marked this pull request as ready for review February 17, 2026 20:07
@blowekamp blowekamp requested a review from hjmjohnson February 18, 2026 13:22
Copy link
Member

@thewtex thewtex left a comment

Choose a reason for hiding this comment

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

👏

@thewtex thewtex added this to the ITK 6.0 Beta 2 milestone Feb 18, 2026
@hjmjohnson hjmjohnson merged commit b5fa7be into InsightSoftwareConsortium:main Feb 18, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:Enhancement Improvement of existing methods or implementation type:Infrastructure Infrastructure/ecosystem related changes, such as CMake or buildbots

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants