CMAKE_PROJECT_NAME

顶级项目的名称。

此变量保留用 project() 命令在顶级 CMakeLists.txt 文件中指定为项目名称。如果顶级 CMakeLists.txt 中含有多个 project() 调用,那么该顶级 CMakeLists.txt 中最晚调用的那个将决定 CMAKE_PROJECT_NAME 的包含名称。例如,考虑以下顶级 CMakeLists.txt

cmake_minimum_required(VERSION 3.0)
project(First)
project(Second)
add_subdirectory(sub)
project(Third)

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

project(SubProj)
message("CMAKE_PROJECT_NAME = ${CMAKE_PROJECT_NAME}")

从顶级 CMakeLists.txt 中看到的最晚 project() 命令将是 project(Second),因此将打印

CMAKE_PROJECT_NAME = Second

要在当前目录范围或更高范围内获取源自 project() 的最新的名称,请参阅 PROJECT_NAME 变量。