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