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>
23 lines
1.0 KiB
ReStructuredText
23 lines
1.0 KiB
ReStructuredText
CMP0048
|
|
-------
|
|
|
|
The :command:`project` command manages VERSION variables.
|
|
|
|
CMake version 3.0.0 introduced the ``VERSION`` option of the :command:`project`
|
|
command to specify a project version as well as the name. In order to keep
|
|
:variable:`PROJECT_VERSION` and related variables consistent with variable
|
|
:variable:`PROJECT_NAME` it is necessary to set the VERSION variables
|
|
to the empty string when no ``VERSION`` is given to :command:`project`.
|
|
However, this can change behavior for existing projects that set VERSION
|
|
variables themselves since :command:`project` may now clear them.
|
|
This policy controls the behavior for compatibility with such projects.
|
|
|
|
The OLD behavior for this policy is to leave VERSION variables untouched.
|
|
The NEW behavior for this policy is to set VERSION as documented by the
|
|
:command:`project` command.
|
|
|
|
This policy was introduced in CMake version 3.0.0.
|
|
CMake version |release| warns when the policy is not set and uses
|
|
OLD behavior. Use the cmake_policy command to set it to OLD or
|
|
NEW explicitly.
|