Clion 和 CMake 消息

Clion and CMake messages

我刚开始使用 Clion IDE。也许这是在某处写的,但我没有在 Google 搜索中看到它。如果我在我的 CMake 脚本中调用 message(),我可以在 Clion 的哪个位置看到输出?这些消息调用是我知道如何调试我的 CMake 脚本的唯一方法。

使用 message(WARNING ...) 而不是 message(...)。警告转到 stderr。

显示警告和错误,但当前抑制其他消息。但是,有一个功能请求 concerning this issue

另一种可能的解决方法:

  • 禁用"cmake auto-reload" 如果启用
  • 在您更改 cmake 文件中的某些内容后,不要触发 "Reload changes"
  • run/build 你的项目

当 clion 开始构建时,它意识到 cmake 文件不是 up-to-date 并重新加载它们,但与其他构建输出一样,它显示在“消息”选项卡中。

截至 CLion 2016.2.2, Build #CL-162.1967.7,CLion 在其消息工具 window (Alt+0 中显示 CMake 消息 (STATUS) 输出) 在构建过程中 (Ctrl+F9) 当项目在更改为 [=46 后首次构建时=]。但正如其他答案中所述,此输出未显示在 CLion 的 CMake 工具 window 中(许多人更喜欢)。

更新: 上面我写了 CLion "is displaying message(STATUS) output." 我现在发现这种情况间歇性发生。 @Michael 写道,如果您在修改 cmake 文件后跳过 cmake 重新加载,就会发生这种情况,但我发现即使在这种情况下,CLion 有时也不会在其消息工具 window 中显示任何 CMake 输出。到目前为止,我还没有发现使 CLion 显示 CMake message(STATUS) 输出的确切情况,将在此处报告 when/if 我知道。

大更新: CLion opens 2016.3 EAP: user-defined literals, CMake output, C11 keywords completion and more. See in particular:CMake output window:一个单独的我认为它解决了整个问题:CLion 2016.3 EAP 添加了一个包含 CMake 命令的新选项卡输出.

当然,这是 EAP,它带有 JetBrains 的警告:

It is important to distinguish EAP from traditional pre-release software. Please note that the quality of EAP versions may at times be way below even usual beta standards.

所以使用它需要您自担风险,但如果您需要 CMake 调试,您可能会认为这是值得冒的风险。