Help: Format project command and variable documentation

Also add document for CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE variable.
This commit is contained in:
Brad King 2014-01-29 09:00:40 -05:00
parent 8157f58d02
commit 00007dcc36
8 changed files with 38 additions and 27 deletions

View File

@ -1,27 +1,31 @@
project project
------- -------
Set a name for the entire project. Set a name and enable languages for the entire project.
:: .. code-block:: cmake
project(<projectname> [languageName1 languageName2 ... ] ) project(<PROJECT-NAME> [<language-name>...])
Sets the name of the project. Additionally this sets the variables Sets the name of the project and stores the name in the
<projectName>_BINARY_DIR and <projectName>_SOURCE_DIR to the :variable:`PROJECT_NAME` variable. Additionally this sets variables
respective values.
* :variable:`PROJECT_SOURCE_DIR`,
:variable:`<PROJECT-NAME>_SOURCE_DIR`
* :variable:`PROJECT_BINARY_DIR`,
:variable:`<PROJECT-NAME>_BINARY_DIR`
Optionally you can specify which languages your project supports. Optionally you can specify which languages your project supports.
Example languages are CXX (i.e. C++), C, Fortran, etc. By default C Example languages are ``C``, ``CXX`` (i.e. C++), ``Fortran``, etc.
and CXX are enabled. E.g. if you do not have a C++ compiler, you can By default ``C`` and ``CXX`` are enabled if no language options are
disable the check for it by explicitly listing the languages you want given. Specify language ``NONE`` to skip enabling any languages.
to support, e.g. C. By using the special language "NONE" all checks
for any language can be disabled. If a variable exists called
CMAKE_PROJECT_<projectName>_INCLUDE, the file pointed to by that
variable will be included as the last step of the project command.
The top-level CMakeLists.txt file for a project must contain a If a variable exists called :variable:`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE`,
literal, direct call to the project() command; loading one through the the file pointed to by that variable will be included as the last step of the
include() command is not sufficient. If no such call exists CMake project command.
will implicitly add one to the top that enables the default languages
(C and CXX). The top-level ``CMakeLists.txt`` file for a project must contain a
literal, direct call to the :command:`project` command; loading one
through the :command:`include` command is not sufficient. If no such
call exists CMake will implicitly add one to the top that enables the
default languages (``C`` and ``CXX``).

View File

@ -121,6 +121,7 @@ Variables that Change Behavior
/variable/CMAKE_POLICY_DEFAULT_CMPNNNN /variable/CMAKE_POLICY_DEFAULT_CMPNNNN
/variable/CMAKE_PREFIX_PATH /variable/CMAKE_PREFIX_PATH
/variable/CMAKE_PROGRAM_PATH /variable/CMAKE_PROGRAM_PATH
/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE
/variable/CMAKE_SKIP_INSTALL_ALL_DEPENDENCY /variable/CMAKE_SKIP_INSTALL_ALL_DEPENDENCY
/variable/CMAKE_STAGING_PREFIX /variable/CMAKE_STAGING_PREFIX
/variable/CMAKE_SYSTEM_IGNORE_PATH /variable/CMAKE_SYSTEM_IGNORE_PATH

View File

@ -0,0 +1,6 @@
CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE
------------------------------------
A CMake language file or module to be included by the :command:`project`
command. This is is intended for injecting custom code into project
builds without modifying their source.

View File

@ -3,6 +3,6 @@
Top level binary directory for the named project. Top level binary directory for the named project.
A variable is created with the name used in the PROJECT command, and A variable is created with the name used in the :command:`project` command,
is the binary directory for the project. This can be useful when and is the binary directory for the project. This can be useful when
SUBDIR is used to connect several projects. :command:`add_subdirectory` is used to connect several projects.

View File

@ -3,6 +3,6 @@
Top level source directory for the named project. Top level source directory for the named project.
A variable is created with the name used in the PROJECT command, and A variable is created with the name used in the :command:`project` command,
is the source directory for the project. This can be useful when and is the source directory for the project. This can be useful when
add_subdirectory is used to connect several projects. :command:`add_subdirectory` is used to connect several projects.

View File

@ -3,4 +3,4 @@ PROJECT_BINARY_DIR
Full path to build directory for project. Full path to build directory for project.
This is the binary directory of the most recent PROJECT command. This is the binary directory of the most recent :command:`project` command.

View File

@ -3,4 +3,4 @@ PROJECT_NAME
Name of the project given to the project command. Name of the project given to the project command.
This is the name given to the most recent PROJECT command. This is the name given to the most recent :command:`project` command.

View File

@ -3,4 +3,4 @@ PROJECT_SOURCE_DIR
Top level source directory for the current project. Top level source directory for the current project.
This is the source directory of the most recent PROJECT command. This is the source directory of the most recent :command:`project` command.