diff options
Diffstat (limited to 'Help/command/project.rst')
-rw-r--r-- | Help/command/project.rst | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/Help/command/project.rst b/Help/command/project.rst index aabab65..c601a01 100644 --- a/Help/command/project.rst +++ b/Help/command/project.rst @@ -1,11 +1,14 @@ project ------- -Set a name and enable languages for the entire project. +Set a name, version, and enable languages for the entire project. .. code-block:: cmake project(<PROJECT-NAME> [LANGUAGES] [<language-name>...]) + project(<PROJECT-NAME> + [VERSION <major>[.<minor>[.<patch>[.<tweak>]]]] + [LANGUAGES <language-name>...]) Sets the name of the project and stores the name in the :variable:`PROJECT_NAME` variable. Additionally this sets variables @@ -15,6 +18,28 @@ Sets the name of the project and stores the name in the * :variable:`PROJECT_BINARY_DIR`, :variable:`<PROJECT-NAME>_BINARY_DIR` +If ``VERSION`` is specified, given components must be non-negative integers. +If ``VERSION`` is not specified, the default version is the empty string. +The ``VERSION`` option may not be used unless policy :policy:`CMP0048` is +set to ``NEW``. + +The :command:`project()` command stores the version number and its components +in variables + +* :variable:`PROJECT_VERSION`, + :variable:`<PROJECT-NAME>_VERSION` +* :variable:`PROJECT_VERSION_MAJOR`, + :variable:`<PROJECT-NAME>_VERSION_MAJOR` +* :variable:`PROJECT_VERSION_MINOR`, + :variable:`<PROJECT-NAME>_VERSION_MINOR` +* :variable:`PROJECT_VERSION_PATCH`, + :variable:`<PROJECT-NAME>_VERSION_PATCH` +* :variable:`PROJECT_VERSION_TWEAK`, + :variable:`<PROJECT-NAME>_VERSION_TWEAK` + +Variables corresponding to unspecified versions are set to the empty string +(if policy :policy:`CMP0048` is set to ``NEW``). + Optionally you can specify which languages your project supports. Example languages are ``C``, ``CXX`` (i.e. C++), ``Fortran``, etc. By default ``C`` and ``CXX`` are enabled if no language options are |