cmake,打印编译/链接命令

72

请问有没有哪个 CMake 的命令行标记可以让它打印出所有编译/链接命令的执行过程?

我在文档中找不到相关内容。我已经浪费了很多时间。我只是想验证它是否正在执行我认为它应该执行的操作,(然后干脆抛弃这个可恶的构建系统,用GNU Makefile替换它)。 谢谢!


2个回答

68
您可以使用详细参数来实现您想要的功能。
CMake有一个漂亮的着色输出,隐藏了命令行。长期看来,这很漂亮,但有时当您编写配置时,您想知道是否正确设置了所有编译器标志。有两种方法可以禁用漂亮的输出,实际上它们是相同的,但仍然有两种不同的方法。
第一种方法是简单地使用附加参数“VERBOSE=1”运行make。这将显示为该会话运行的每个命令,这是查看标志是否正确的最有用的方法:
``` make VERBOSE=1 ```
第二种方法是在您的CMakeLists.txt中永久禁用漂亮的输出,方法是设置CMAKE_VERBOSE_MAKEFILE:
``` set( CMAKE_VERBOSE_MAKEFILE on ) ```
除非另有说明,否则内容可在署名-相同方式共享2.5下获得。

在 Windows Visual Studio 2019 上工作过。"cmake --build <dir> --verbose" 命令打印了链接器命令。 - Talespin_Kit
1
可以运行,但必须生成器制作。文档似乎默认这种情况。 - wheredidthatnamecomefrom

4

设置CMAKE_VERBOSE_MAKEFILE可以工作,但生成器必须是make。文档似乎假定这是情况。应该在文档中明确说明。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接