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 变量。