summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/FindPython/Python3SABIModule.cmake
diff options
context:
space:
mode:
authorMatthew Woehlke <matthew.woehlke@kitware.com>2025-03-05 19:47:49 (GMT)
committerMatthew Woehlke <matthew.woehlke@kitware.com>2025-03-05 19:47:49 (GMT)
commitc3d279841b0981dec0721ccb876568f24cbfa833 (patch)
tree4bd01e7c9fb1d267e310a0fe119f843b7ebe56c5 /Tests/RunCMake/FindPython/Python3SABIModule.cmake
parentbc51d06814e22d3085a72694768e9f19cab56881 (diff)
downloadCMake-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