Skip to content

dependency_provider: let provider return <Package>_FOUND=False

Cristian Le requested to merge LecrisUT/cmake:fix/dep-provider into master

The original documentation:

For a dependency named depName, the provider must set depName_FOUND to true if it fulfilled the request. If the provider returns without setting this variable, CMake will assume the request was not fulfilled and will fall back to the built-in implementation.

This would imply that it can return depName_FOUND=False, but that is not the case. This MR will address this issue initially until #22686 moves forward. This is required in order to control which source of package is used: config, module, fetch_content, pkg-config, dependency-provider, but that would probably need to be discussed somewhere else

TODO:

  • Tests
  • Add policy
  • Documentation

Closes #25606

Merge request reports