Browse Source

Merge topic 'doc-find_package-BYPASS_PROVIDER'

4f7a0c25d2 Help: Document BYPASS_PROVIDER keyword for find_package()
76370e06b8 Help: Minor grammar fix for the Using Dependencies manual

Acked-by: Kitware Robot <[email protected]>
Merge-request: !7501
Brad King 3 years ago
parent
commit
1cde77e526
2 changed files with 13 additions and 3 deletions
  1. 12 2
      Help/command/find_package.rst
  2. 1 1
      Help/guide/using-dependencies/index.rst

+ 12 - 2
Help/command/find_package.rst

@@ -103,8 +103,9 @@ Basic Signature
                [REQUIRED] [[COMPONENTS] [components...]]
                [OPTIONAL_COMPONENTS components...]
                [REGISTRY_VIEW  (64|32|64_32|32_64|HOST|TARGET|BOTH)]
+               [GLOBAL]
                [NO_POLICY_SCOPE]
-               [GLOBAL])
+               [BYPASS_PROVIDER])
 
 The basic signature is supported by both Module and Config modes.
 The ``MODULE`` keyword implies that only Module mode can be used to find
@@ -181,6 +182,14 @@ only take the single version at the lower end of the range into account.
 See the :command:`cmake_policy` command documentation for discussion
 of the ``NO_POLICY_SCOPE`` option.
 
+.. versionadded:: 3.24
+  The ``BYPASS_PROVIDER`` keyword is only allowed when ``find_package()`` is
+  being called by a :ref:`dependency provider <dependency_providers>`.
+  It can be used by providers to call the built-in ``find_package()``
+  implementation directly and prevent that call from being re-routed back to
+  itself.  Future versions of CMake may detect attempts to use this keyword
+  from places other than a dependency provider and halt with a fatal error.
+
 .. _`full signature`:
 
 Full Signature
@@ -192,8 +201,9 @@ Full Signature
                [REQUIRED] [[COMPONENTS] [components...]]
                [OPTIONAL_COMPONENTS components...]
                [CONFIG|NO_MODULE]
-               [NO_POLICY_SCOPE]
                [GLOBAL]
+               [NO_POLICY_SCOPE]
+               [BYPASS_PROVIDER]
                [NAMES name1 [name2 ...]]
                [CONFIGS config1 [config2 ...]]
                [HINTS path1 [path2 ... ]]

+ 1 - 1
Help/guide/using-dependencies/index.rst

@@ -388,7 +388,7 @@ can still be built out-of-the-box.
 
 The developer, on the other hand, may be much more interested in controlling
 *how* a dependency is provided to the project.  You might want to use a
-particular version of a package that you built themself.  You might want
+particular version of a package that you built yourself.  You might want
 to use a third party package manager.  You might want to redirect some
 requests to a different URL on a system you control for security or
 performance reasons.  CMake supports these sort of scenarios through