是否可以使用 cmake.exe 打印 CMake 项目的项目名称值?
例如:
cmake -LA CMakeLists.txt | grep CMAKE_INSTALL_PREFIX
获取为项目配置的安装前缀。
有没有类似于获取项目('xyz')中定义的CMAKE_PROJECT_NAME的方法?
是否可以使用 cmake.exe 打印 CMake 项目的项目名称值?
例如:
cmake -LA CMakeLists.txt | grep CMAKE_INSTALL_PREFIX
获取为项目配置的安装前缀。
有没有类似于获取项目('xyz')中定义的CMAKE_PROJECT_NAME的方法?
变量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 <...>
project()
在 CMake 项目中遇到的第一个调用。
此方法适用于 CMake 3.15 或更高版本。