diff options
author | Craig Scott <craig.scott@crascit.com> | 2019-07-01 11:42:31 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2019-07-01 11:43:08 (GMT) |
commit | 7ea18c02c388d43e09e806de16168e7090e7384d (patch) | |
tree | 0a1d64f79e60b3cdf2d84f52eb71cabbe803a234 /Help/command | |
parent | 56f5310112705c00e0e1ae876cfde633c04bd740 (diff) | |
parent | 42294f43bd95f1380c07a563acf3021ddd00b995 (diff) | |
download | CMake-7ea18c02c388d43e09e806de16168e7090e7384d.zip CMake-7ea18c02c388d43e09e806de16168e7090e7384d.tar.gz CMake-7ea18c02c388d43e09e806de16168e7090e7384d.tar.bz2 |
Merge topic 'docs-project-code-injection'
42294f43bd Help: move code injection vars to their own section
9e0775cb6a Help: Remove self-references from project() docs
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3494
Diffstat (limited to 'Help/command')
-rw-r--r-- | Help/command/project.rst | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/Help/command/project.rst b/Help/command/project.rst index 41e1112..baf18be 100644 --- a/Help/command/project.rst +++ b/Help/command/project.rst @@ -31,14 +31,6 @@ 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 set to the empty string. -If the variable :variable:`CMAKE_PROJECT_INCLUDE_BEFORE` exists, the file -pointed to by that variable will be included as the first step of the project -command. - -If the variable :variable:`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE` -or :variable:`CMAKE_PROJECT_INCLUDE` exists, the file pointed to by that -variable will be included as the last step of the project command. - Options ^^^^^^^ @@ -63,7 +55,7 @@ The options are: * :variable:`PROJECT_VERSION_TWEAK`, :variable:`<PROJECT-NAME>_VERSION_TWEAK`. - When the :command:`project()` command is called from the top-level ``CMakeLists.txt``, + When the ``project()`` command is called from the top-level ``CMakeLists.txt``, then the version is also stored in the variable :variable:`CMAKE_PROJECT_VERSION`. ``DESCRIPTION <project-description-string>`` @@ -76,7 +68,7 @@ The options are: It is recommended that this description is a relatively short string, usually no more than a few words. - When the :command:`project()` command is called from the top-level ``CMakeLists.txt``, + When the ``project()`` command is called from the top-level ``CMakeLists.txt``, then the description is also stored in the variable :variable:`CMAKE_PROJECT_DESCRIPTION`. ``HOMEPAGE_URL <url-string>`` @@ -87,7 +79,7 @@ The options are: to ``<url-string>``, which should be the canonical home URL for the project. - When the :command:`project()` command is called from the top-level ``CMakeLists.txt``, + When the ``project()`` command is called from the top-level ``CMakeLists.txt``, then the URL also is stored in the variable :variable:`CMAKE_PROJECT_HOMEPAGE_URL`. ``LANGUAGES <language-name>...`` @@ -106,18 +98,31 @@ The options are: The variables set through the ``VERSION``, ``DESCRIPTION`` and ``HOMEPAGE_URL`` options are intended for use as default values in package metadata and documentation. +Code Injection +^^^^^^^^^^^^^^ + +If the :variable:`CMAKE_PROJECT_INCLUDE_BEFORE` variable is set, the file +pointed to by that variable will be included as the first step of the +``project()`` command. + +If the :variable:`CMAKE_PROJECT_INCLUDE` or +:variable:`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE` variables are set, the files +they point to will be included as the last step of the ``project()`` command. +If both are set, then :variable:`CMAKE_PROJECT_INCLUDE` will be included before +:variable:`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE`. + Usage ^^^^^ The top-level ``CMakeLists.txt`` file for a project must contain a -literal, direct call to the :command:`project` command; loading one +literal, direct call to the ``project()`` command; loading one through the :command:`include` command is not sufficient. If no such call exists, CMake will issue a warning and pretend there is a ``project(Project)`` at the top to enable the default languages (``C`` and ``CXX``). .. note:: - Call the :command:`project()` command near the top of the top-level + Call the ``project()`` command near the top of the top-level ``CMakeLists.txt``, but *after* calling :command:`cmake_minimum_required`. It is important to establish version and policy settings before invoking other commands whose behavior they may affect. |