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``).