CMake:使用CMake命令行打印根项目名称



是否可以使用CMake.exe打印CMake项目的项目名称值?

例如:

cmake-LA CMakeLists.txt | grep cmake_INSTALL_PRIIX

获取为项目配置的安装前缀。

是否有类似于获取项目中定义的CMAKE_PROJECT_NAME的方法("xyz"(?

变量CMAKE_PROJECT_NAME不是缓存的变量,因此无法通过运行cmake -LA打印它。

使用变量CMAKE_PROJECT_INCLUDE,可以为project()调用定义钩子。这个钩子可以打印一个项目名称。

例如,考虑这样的脚本project_hook.cmake:

message(STATUS "Project name is ${PROJECT_NAME}")

您可以使用配置CMake项目

cmake -DCMAKE_PROJECT_INCLUDE=</path/to/project_hook.cmake> </path/to/source/dir> | grep -m1 "Project name is"

所以你会得到

Project name is <...>

用于CMake项目中遇到的第一个CCD_ 4调用。

此方法适用于CMake 3.15或更新版本。

最新更新