如何调试CMakeLists.txt文件?

时间:2014-04-02 06:51:56

标签: cmake

message语句外,是否有可能调试CMakeLists.txt个文件(至少列出变量?)

5 个答案:

答案 0 :(得分:49)

CMake没有交互式调试器,但也有标志-Wdev--debug-output--trace可能有所帮助。还要记得检查日志文件CMakeFiles\CMakeOutput.logCMakeFiles\CMakeError.log,它们主要收集CMake调用的进程的输出(例如,在检查是否存在类型或标题时)。

Since version 3.7,CMake现在正式支持"服务器模式"因此,IDE的集成可能会在不久的将来得到改善。 Qt CreatorVisual Studio 2017 RC

都存在初步支持

答案 1 :(得分:5)

有steveire的CMake Daemon Tools。我自己没有使用它们,但是它们声称提供了可能与调试器非常接近的内省的可能性。

修改:它们现在称为CMake-server,是CMake 3.7的一部分。

答案 2 :(得分:4)

您可以尝试使用VisualGDB工具提供的新CMake脚本调试器。它使用open-source fork of CMake来支持逐步浏览CMakeLists.txt文件,设置代码/数据断点,评估/更改变量等。

有关新调试器here

的详细分步教程

答案 3 :(得分:1)

我喜欢使用variable_watch来“调试”我的CMakeLists.txt文件。只需在我的脚本顶部设置:

variable_watch(SOME_MY_VAR)

答案 4 :(得分:0)

另外,请阅读有关环境变量VERBOSE的信息:https://cmake.org/cmake/help/latest/envvar/VERBOSE.html

我是这样使用的:

export VERBOSE=defined
make

还有更多详细信息。

在其他情况下,请编辑CMakeLists.txt文件以包括以下行:

set(CMAKE_VERBOSE_MAKEFILE ON)

(关于此的一些帖子是https://bytefreaks.net/programming-2/make-building-with-cmake-verbose)。