如何列出CMake默认`all`目标中包含的所有目标?
显示CMake默认目标包含的所有目标的方法
下面是几个无需手动遍历CMakeLists.txt的实用方案:
命令行快速查询
进入项目构建目录(未构建的话先执行cmake ..生成构建文件),运行以下命令:cmake --build . --target help该命令会列出当前项目中所有可构建的目标,其中默认目标(比如
all或ALL_BUILD)包含的子目标也会被清晰列出,输出内容还会标注目标类型与归属。CMake GUI可视化查看
打开CMake GUI,加载项目源码路径与构建目录,完成"Configure"配置后,切换到"Targets"标签页,就能看到全量目标列表,包括默认目标关联的子目标,还可点击查看单个目标的详细属性。配置阶段打印目标列表
若想在CMake配置环节直接获取所有目标,可在项目根目录的CMakeLists.txt末尾添加这段代码:get_cmake_property(_all_targets BUILDSYSTEM_TARGETS) message(STATUS "所有项目目标:") foreach(_target ${_all_targets}) message(STATUS " - ${_target}") endforeach()执行
cmake ..时,控制台会打印出所有目标名称,其中就包含默认目标涵盖的内容。
内容的提问来源于stack exchange,提问作者Joris Valette
相关产品推荐
相关产品推荐

