summaryrefslogtreecommitdiffstats
path: root/Help/variable/CMAKE_PROJECT_VERSION.rst
diff options
context:
space:
mode:
authorAlex Turbov <i.zaufi@gmail.com>2018-04-29 14:09:40 (GMT)
committerCraig Scott <craig.scott@crascit.com>2018-05-02 22:26:03 (GMT)
commitaf1c48871cedc29eb0dc773556c606c670df55ee (patch)
treeb63e5a9cbfe70122491e277978cbe50f6ec254fc /Help/variable/CMAKE_PROJECT_VERSION.rst
parent1925fe9fed9ef4007e344fdf1fa598e9ad523c4c (diff)
downloadCMake-af1c48871cedc29eb0dc773556c606c670df55ee.zip
CMake-af1c48871cedc29eb0dc773556c606c670df55ee.tar.gz
CMake-af1c48871cedc29eb0dc773556c606c670df55ee.tar.bz2
CPack: Use project version as default for `CPACK_PACKAGE_VERSION`
* Introduce `CMAKE_PROJECT_VERSION` and the corresponsing components: `CMAKE_PROJECT_VERSION_MAJOR`, `CMAKE_PROJECT_VERSION_MINOR`, `CMAKE_PROJECT_VERSION_PATCH` and `CMAKE_PROJECT_VERSION_TWEAK`. * `CPack` module use `CMAKE_PROJECT_VERSION_MAJOR`, `CMAKE_PROJECT_VERSION_MINOR` and `CMAKE_PROJECT_VERSION_PATCH` to initialize corresponsing CPack variables.
Diffstat (limited to 'Help/variable/CMAKE_PROJECT_VERSION.rst')
-rw-r--r--Help/variable/CMAKE_PROJECT_VERSION.rst35
1 files changed, 35 insertions, 0 deletions
diff --git a/Help/variable/CMAKE_PROJECT_VERSION.rst b/Help/variable/CMAKE_PROJECT_VERSION.rst
new file mode 100644
index 0000000..4f8f556
--- /dev/null
+++ b/Help/variable/CMAKE_PROJECT_VERSION.rst
@@ -0,0 +1,35 @@
+CMAKE_PROJECT_VERSION
+---------------------
+
+The version of the top level project.
+
+This variable holds the version of the project as specified in the top
+level CMakeLists.txt file by a :command:`project` command. In the event that
+the top level CMakeLists.txt contains multiple :command:`project` calls,
+the most recently called one from that top level CMakeLists.txt will determine
+the value that ``CMAKE_PROJECT_VERSION`` contains. For example, consider
+the following top level CMakeLists.txt:
+
+.. code-block:: cmake
+
+ cmake_minimum_required(VERSION 3.0)
+ project(First VERSION 1.2.3)
+ project(Second VERSION 3.4.5)
+ add_subdirectory(sub)
+ project(Third VERSION 6.7.8)
+
+And ``sub/CMakeLists.txt`` with the following contents:
+
+.. code-block:: cmake
+
+ project(SubProj VERSION 1)
+ message("CMAKE_PROJECT_VERSION = ${CMAKE_PROJECT_VERSION}")
+
+The most recently seen :command:`project` command from the top level
+CMakeLists.txt would be ``project(Second ...)``, so this will print::
+
+ CMAKE_PROJECT_VERSION = 3.4.5
+
+To obtain the version from the most recent call to :command:`project` in
+the current directory scope or above, see the :variable:`PROJECT_VERSION`
+variable.