【发布时间】: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。
- 如果使用带有
execute_process命令的 CMake 脚本模式,如何获得彩色控制台输出? - 如果
execute_process无法实现:是否存在替代方案?
相关:
【问题讨论】:
-
您的问题确实与 [batch-file] 无关,因此您真的不应该使用它的标签。您在
.cmd文件中拥有的只是一个命令(用于运行带有参数的可执行文件),并且该命令可以很容易地从任何命令行界面运行,并且可以使用大量控制台/终端。现在您显然使用的是 Windows,请在问题正文中指定终端/控制台,并将您的 [batch-file] 标签替换为 [cmd]、[powershell] 或与您的问题相关的控制台/终端匹配的任何内容到。谢谢。 -
@Compo 你是对的,我使用了错误的标签。固定。
标签: windows cmd build cmake msbuild