如何在CMake中设置set(CMAKE_CXX_CPPLINT "cpplint")时让cpplint输出带颜色?
解决cpplint在CMake调用时的颜色输出问题
直接在CMAKE_CXX_CPPLINT的配置项中追加cpplint原生的颜色控制参数即可实现强制高亮输出,修改后的配置如下:
set(CMAKE_CXX_CPPLINT "cpplint" "--color=yes")
参数说明
cpplint的--color参数支持3种取值:
auto:默认值,仅当检测到输出目标为交互式终端时才开启颜色,CMake调用场景下偶发检测失效导致无颜色yes:强制开启颜色输出,即使输出被重定向到文件也会保留颜色控制字符,适合本地开发和需要高亮的CI场景no:强制关闭所有颜色输出
多参数配置示例
如果需要同时传入其他cpplint规则配置,可以直接追加到列表中:
set(CMAKE_CXX_CPPLINT "cpplint" "--color=yes" "--linelength=120" "--filter=-build/include_order,-runtime/explicit" )
旧版本兼容方案
如果你使用的是未支持--color参数的老旧版本cpplint,可以在执行编译命令前设置环境变量强制开启颜色:
# Linux/macOS 环境 export CPPLINT_FORCE_COLOR=1 make # Windows Powershell 环境 $env:CPPLINT_FORCE_COLOR=1 msbuild .\build\Project.sln
内容的提问来源于stack exchange,提问作者laurapons
相关产品推荐
相关产品推荐

