Commit 00007dcc authored by Brad King's avatar Brad King
Browse files

Help: Format project command and variable documentation

Also add document for CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE variable.
parent 8157f58d
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.
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).
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.
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``).
......@@ -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
......
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.
......@@ -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.
......@@ -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.
......@@ -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.
......@@ -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.
......@@ -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.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment