CMAKE_PROJECT_DESCRIPTION

在 3.9 版本中添加。

顶层项目的描述。

此变量保存顶层 CMakeLists.txt 文件中通过 project() 命令指定的项目描述。 如果顶层 CMakeLists.txt 包含多个 project() 调用,则来自该顶层 CMakeLists.txt 的最近一次调用将决定 CMAKE_PROJECT_DESCRIPTION 包含的值。 例如,考虑以下顶层 CMakeLists.txt

cmake_minimum_required(VERSION 3.0)
project(First DESCRIPTION "I am First")
project(Second DESCRIPTION "I am Second")
add_subdirectory(sub)
project(Third DESCRIPTION "I am Third")

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

project(SubProj DESCRIPTION "I am SubProj")
message("CMAKE_PROJECT_DESCRIPTION = ${CMAKE_PROJECT_DESCRIPTION}")

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

CMAKE_PROJECT_DESCRIPTION = I am Second

要从当前目录范围或更高级别对 project() 的最近一次调用中获取描述,请参阅 PROJECT_DESCRIPTION 变量。