CMAKE_PROJECT_VERSION

3.12 版本新增。

顶层项目的版本。

此变量保存了在顶层 CMakeLists.txt 文件中通过 project() 命令指定的项目版本。如果顶层 CMakeLists.txt 包含多个 project() 调用,那么该顶层 CMakeLists.txt 中最后一次调用的 project() 命令将决定 CMAKE_PROJECT_VERSION 的值。例如,考虑以下顶层 CMakeLists.txt:

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)

以及以下内容的 sub/CMakeLists.txt

project(SubProj VERSION 1)
message("CMAKE_PROJECT_VERSION = ${CMAKE_PROJECT_VERSION}")

来自顶级 `CMakeLists.txt` 的最后看到的 `project()` 命令将是 `project(Second ...)`,因此这将打印:

CMAKE_PROJECT_VERSION = 3.4.5

要获取当前目录范围或其上层中最后一次调用 project() 时返回的版本,请参见 PROJECT_VERSION 变量。