【发布时间】:2016-10-04 01:11:53
【问题描述】:
是否有合理的方法来获取包含构建命令或 CMake 将与目标关联的所有编译器标志的 CMake 变量?
尝试收集和维护所有可以添加标志的属性的列表似乎不切实际。此外,CMake 必须在某处拥有此信息,因为它最终必须生成构建系统。
从 CMake docs 看来,此功能曾经存在,并通过调用 build_command() 提供,但已被替换:
注意在 3.0 之前的 CMake 版本中,此命令返回一个命令 直接为当前调用本机构建工具的行 生成器。
是否有一个新命令可以提供 build_command() 的旧行为?
【问题讨论】:
-
参见例如How to use CMAKE_EXPORT_COMPILE_COMMANDS? 或 Retrieve all link flags in CMake。您能否更具体地说明您想对命令行或所有编译器标志做什么?如果您生成例如那里的 Visual Studio 解决方案和项目甚至可能没有像命令行这样的东西。编译器标志。
-
我认为
build_command()从来没有这样工作过。它说这将是一个调用构建工具的命令行,即make而不是编译器及其构建目标的选项。 -
新的 CMake 文件 API 似乎支持这一点,至少在某种程度上。请参阅 API 文档的 targets 部分。
-
请告诉我你想做什么?我做了很多实验(试图将 ABI 合规检查器集成到我的构建中 ;-),也许我有一个答案)
标签: cmake