Browse Source

Merge topic 'doc-fc-project-var-name-clashes'

13bf4dc9ef Help: State valid scopes for using proj_SOURCE_DIR and proj_BINARY_DIR

Acked-by: Kitware Robot <[email protected]>
Merge-request: !9747
Craig Scott 1 year ago
parent
commit
ea184f510c
1 changed files with 9 additions and 2 deletions
  1. 9 2
      Help/command/project.rst

+ 9 - 2
Help/command/project.rst

@@ -33,10 +33,17 @@ Also sets the variables:
 
   Boolean value indicating whether the project is top-level.
 
-Further variables are set by the optional arguments described in the following.
-If any of these arguments is not used, then the corresponding variables are
+Further variables are set by the optional arguments described in `Options`_
+further below. Where an option is not given, its corresponding variable is
 set to the empty string.
 
+Note that variables of the form ``<name>_SOURCE_DIR`` and ``<name>_BINARY_DIR``
+may also be set by other commands before ``project()`` is called (see the
+:command:`FetchContent_MakeAvailable` command for one example).
+Projects should not rely on ``<PROJECT-NAME>_SOURCE_DIR`` or
+``<PROJECT-NAME>_BINARY_DIR`` holding a particular value outside of the scope
+of the call to ``project()`` or one of its child scopes.
+
 Options
 ^^^^^^^