CMAKE_PROJECT_DESCRIPTION

在 3.9 版本加入.

顶级项目的描述。

此变量保存项目的描述,如 project() 命令在顶层 CMakeLists.txt 文件中指定的那样。如果顶层 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 变量。