首页 > 解决方案 > 如果使用带有 execute_process 命令的 CMake 脚本模式,如何获得彩色控制台输出?

问题描述

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

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

cmake -P foo.cmake

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

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. 如果将 CMake 脚本模式与命令一起使用,如何获得彩色控制台输出execute_process
  2. 如果不可能execute_process:是否存在任何替代方案?

有关的:

标签: windowscmdbuildcmakemsbuild

解决方案


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


推荐阅读