【问题标题】:How-to have colored console output if using CMake script mode with the execute_process command?如果使用带有 execute_process 命令的 CMake 脚本模式,如何获得彩色控制台输出?
【发布时间】:2020-08-14 21:37:36
【问题描述】:

我目前正在重写基于 CMake 的构建系统,并摆脱了所有依赖于平台的脚本文件(例如 Windows Batch)。

只有一个.cmd 文件按如下方式调用 CMake(有点复杂,但想法是用户永远不必直接调用 cmake)。

cmake -P foo.cmake

foo.cmake 脚本中,使用cmake 执行实际的配置(或--build)调用,例如

cmake_minimum_required(VERSION 3.17)

execute_process(
  COMMAND ${CMAKE_COMMAND} --build .
  ENCODING AUTO
  )

现在,当调用cmake -P foo.cmake 时,写入控制台的输出是彩色的。如果在终端中执行cmake --build .,则输出是彩色的。

我使用的是 Microsoft Windows v6.1.7601、CMake 3.17.2 和 MSBuild 15.5.180.51428。

  1. 如果使用带有execute_process 命令的 CMake 脚本模式,如何获得彩色控制台输出?
  2. 如果execute_process 无法实现:是否存在替代方案?

相关:

【问题讨论】:

  • 您的问题确实与 [batch-file] 无关,因此您真的不应该使用它的标签。您在.cmd 文件中拥有的只是一个命令(用于运行带有参数的可执行文件),并且该命令可以很容易地从任何命令行界面运行,并且可以使用大量控制台/终端。现在您显然使用的是 Windows,请在问题正文中指定终端/控制台,并将您的 [batch-file] 标签替换为 [cmd]、[powershell] 或与您的问题相关的控制台/终端匹配的任何内容到。谢谢。
  • @Compo 你是对的,我使用了错误的标签。固定。

标签: windows cmd build cmake msbuild


【解决方案1】:

您可能想尝试一下 Visual Studio Code 和 Output Colorizer 扩展

【讨论】:

    猜你喜欢
    • 2013-09-28
    • 1970-01-01
    • 2014-12-07
    • 1970-01-01
    • 2014-12-13
    • 2020-07-13
    • 1970-01-01
    • 1970-01-01
    • 2011-11-16
    相关资源
    最近更新 更多