diff options
| author | Matthew Woehlke <matthew.woehlke@kitware.com> | 2025-03-05 19:47:49 (GMT) |
|---|---|---|
| committer | Matthew Woehlke <matthew.woehlke@kitware.com> | 2025-03-05 19:47:49 (GMT) |
| commit | c3d279841b0981dec0721ccb876568f24cbfa833 (patch) | |
| tree | 4bd01e7c9fb1d267e310a0fe119f843b7ebe56c5 /Tests/RunCMake/FindPython/Python3SABIModule.cmake | |
| parent | bc51d06814e22d3085a72694768e9f19cab56881 (diff) | |
| download | CMake-c3d279841b0981dec0721ccb876568f24cbfa833.zip CMake-c3d279841b0981dec0721ccb876568f24cbfa833.tar.gz CMake-c3d279841b0981dec0721ccb876568f24cbfa833.tar.bz2 | |
find_package: CPS component requirements != CMake components
Modify how CMake handles required components of a CPS transitive
dependency to not pass them as COMPONENTS if a CMake-script package is
found as the resolved dependency. This is necessary as many CMake-script
package description files do not treat component requests as target
requests (which, in CPS-land, they effectively are), but do implement
logic to mark themselves 'not found' if requested components are
missing. As a result, passing in the required targets as required
components is likely to cause the dependency to be spuriously not found
if it is only available via a CMake-script package configuration file.
Fix this by introducing a new 'required targets' concept, and by passing
CPS component requirements as both required targets and optional
components. The latter serves as a hint for packages that might provide
only a subset of themselves. The former is used to post-validate a
CMake-script package, or is folded on-the-fly into required components
when considering CPS packages.
Note that this functionality is not exposed to the user at this time,
and is only used when resolving transitive dependencies for a CPS
package.
Diffstat (limited to 'Tests/RunCMake/FindPython/Python3SABIModule.cmake')
0 files changed, 0 insertions, 0 deletions
