mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-23 14:48:19 -05:00
project: Manage VERSION variables
Teach the project() command to set variables
{PROJECT,<PROJECT-NAME>}_VERSION{,_MAJOR,_MINOR,_PATCH,_TWEAK}
holding the project version number and its components. Add project()
command option "VERSION" to specify the version explicitly, and default
to the empty string when it is not given.
Since this clears variables when no VERSION is given, this may change
behavior for existing projects that set the version variables themselves
prior to calling project(). Add policy CMP0048 for compatibility.
Suggested-by: Alex Neundorf <neundorf@kde.org>
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user