summaryrefslogtreecommitdiffstats
path: root/Help/policy
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-01-29 14:28:01 (GMT)
committerBrad King <brad.king@kitware.com>2014-01-29 14:45:18 (GMT)
commit7e142c5ac2be11097f7ff905b1606179803043d7 (patch)
treed7565d46f43fa420270d0111bd30e5279c58c9dc /Help/policy
parent16d040c958c68c38b2c0642b4094245af28c1910 (diff)
downloadCMake-7e142c5ac2be11097f7ff905b1606179803043d7.zip
CMake-7e142c5ac2be11097f7ff905b1606179803043d7.tar.gz
CMake-7e142c5ac2be11097f7ff905b1606179803043d7.tar.bz2
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>
Diffstat (limited to 'Help/policy')
-rw-r--r--Help/policy/CMP0048.rst22
1 files changed, 22 insertions, 0 deletions
diff --git a/Help/policy/CMP0048.rst b/Help/policy/CMP0048.rst
new file mode 100644
index 0000000..ae51329
--- /dev/null
+++ b/Help/policy/CMP0048.rst
@@ -0,0 +1,22 @@
+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.