CMAKE_PROJECT_NAME

顶级项目的名称。

此变量保存了在顶层 CMakeLists.txt 文件中由 project() 命令指定的项目名称。如果顶层 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 变量。