CMake/Tests/RunCMake/find_package-CPS
Matthew Woehlke c3d279841b 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.
2025-03-05 14:47:49 -05:00
..
cmake find_package: CPS component requirements != CMake components 2025-03-05 14:47:49 -05:00
cps find_package: CPS component requirements != CMake components 2025-03-05 14:47:49 -05:00
CMakeLists.txt
CompatVersion.cmake find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00
CustomVersion.cmake find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00
ExactVersion.cmake find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00
ExperimentalWarning-stderr.txt
ExperimentalWarning.cmake
MissingComponent-result.txt
MissingComponent-stderr.txt find_package: Fix reporting of rejected CPS files' version 2025-02-07 11:57:54 -05:00
MissingComponent.cmake
MissingComponentDependency-result.txt
MissingComponentDependency-stderr.txt
MissingComponentDependency.cmake
MissingTransitiveComponentCMake-result.txt find_package: CPS component requirements != CMake components 2025-03-05 14:47:49 -05:00
MissingTransitiveComponentCMake-stderr.txt find_package: CPS component requirements != CMake components 2025-03-05 14:47:49 -05:00
MissingTransitiveComponentCMake.cmake find_package: CPS component requirements != CMake components 2025-03-05 14:47:49 -05:00
MissingTransitiveComponentCPS-result.txt find_package: CPS component requirements != CMake components 2025-03-05 14:47:49 -05:00
MissingTransitiveComponentCPS-stderr.txt find_package: CPS component requirements != CMake components 2025-03-05 14:47:49 -05:00
MissingTransitiveComponentCPS.cmake find_package: CPS component requirements != CMake components 2025-03-05 14:47:49 -05:00
MissingTransitiveComponentDependency-result.txt
MissingTransitiveComponentDependency-stderr.txt
MissingTransitiveComponentDependency.cmake
MissingTransitiveDependency-result.txt
MissingTransitiveDependency-stderr.txt
MissingTransitiveDependency.cmake
MissingVersion1-result.txt find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00
MissingVersion1-stderr.txt find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00
MissingVersion1.cmake find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00
MissingVersion2-result.txt find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00
MissingVersion2-stderr.txt find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00
MissingVersion2.cmake find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00
MultipleVersions.cmake find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00
RunCMakeTest.cmake find_package: CPS component requirements != CMake components 2025-03-05 14:47:49 -05:00
Setup.cmake
TransitiveVersion.cmake find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00
VersionLimit1.cmake find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00
VersionLimit2.cmake find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00
VersionLimit3-result.txt find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00
VersionLimit3-stderr.txt find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00
VersionLimit3.cmake find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00
VersionLimit4-result.txt find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00
VersionLimit4-stderr.txt find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00
VersionLimit4.cmake find_package: Honor version requests when finding CPS packages 2025-02-12 11:36:41 -05:00