瀏覽代碼

Help: Clarify calling cmake_minimum_required() inside a function

Fixes: #21519
Craig Scott 4 年之前
父節點
當前提交
b00a171b2b
共有 2 個文件被更改,包括 9 次插入3 次删除
  1. 7 2
      Help/command/cmake_minimum_required.rst
  2. 2 1
      Help/variable/CMAKE_MINIMUM_REQUIRED_VERSION.rst

+ 7 - 2
Help/command/cmake_minimum_required.rst

@@ -40,8 +40,13 @@ with an error instead of just a warning.
   they may affect.  See also policy :policy:`CMP0000`.
 
   Calling ``cmake_minimum_required()`` inside a :command:`function`
-  limits some effects to the function scope when invoked.  Such calls
-  should not be made with the intention of having global effects.
+  limits some effects to the function scope when invoked.  For example,
+  the :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` variable won't be set
+  in the calling scope.  Functions do not introduce their own policy
+  scope though, so policy settings of the caller *will* be affected
+  (see below).  Due to this mix of things that do and do not affect the
+  calling scope, calling ``cmake_minimum_required()`` inside a function
+  is generally discouraged.
 
 .. _`Policy Settings`:
 

+ 2 - 1
Help/variable/CMAKE_MINIMUM_REQUIRED_VERSION.rst

@@ -2,4 +2,5 @@ CMAKE_MINIMUM_REQUIRED_VERSION
 ------------------------------
 
 The ``<min>`` version of CMake given to the most recent call to the
-:command:`cmake_minimum_required(VERSION)` command.
+:command:`cmake_minimum_required(VERSION)` command in the current
+variable scope or any parent variable scope.