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
-------
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
<projectName>_BINARY_DIR and <projectName>_SOURCE_DIR to the
respective values.
Sets the name of the project and stores the name in the
:variable:`PROJECT_NAME` variable. Additionally this sets variables
* :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.
Example languages are CXX (i.e. C++), C, Fortran, etc. By default C
and CXX are enabled. E.g. if you do not have a C++ compiler, you can
disable the check for it by explicitly listing the languages you want
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.
Example languages are ``C``, ``CXX`` (i.e. C++), ``Fortran``, etc.
By default ``C`` and ``CXX`` are enabled if no language options are
given. Specify language ``NONE`` to skip enabling any languages.
The top-level CMakeLists.txt file for a project must contain a
literal, direct call to the project() command; loading one through the
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).
If a variable exists called :variable:`CMAKE_PROJECT_<PROJECT-NAME>_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
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_PREFIX_PATH
/variable/CMAKE_PROGRAM_PATH
/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE
/variable/CMAKE_SKIP_INSTALL_ALL_DEPENDENCY
/variable/CMAKE_STAGING_PREFIX
/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.
A variable is created with the name used in the PROJECT command, and
is the binary directory for the project. This can be useful when
SUBDIR is used to connect several projects.
A variable is created with the name used in the :command:`project` command,
and is the binary directory for the project. This can be useful when
:command:`add_subdirectory` is used to connect several projects.

View File

@ -3,6 +3,6 @@
Top level source directory for the named project.
A variable is created with the name used in the PROJECT command, and
is the source directory for the project. This can be useful when
add_subdirectory is used to connect several projects.
A variable is created with the name used in the :command:`project` command,
and is the source directory for the project. This can be useful when
: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.
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.
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.
This is the source directory of the most recent PROJECT command.
This is the source directory of the most recent :command:`project` command.