有没有办法检查ansicon.exe是否存在,而无需使用CMake运行它



我的CMake项目中的大多数消息都是彩色的。在 Windows 中,仅当用户下载了ansicon.exe时,颜色才会显示,否则会打印一个奇怪的字符。因此,我想在尝试为消息着色之前检查命令ansicon是否存在。

我尝试这样做,希望WIN_COLOR能告诉我该命令是否存在:

execute_process(
    COMMAND "ansicon"
    RESULT_VARIABLE WIN_COLOR
)

它确实如此,但它实际上运行 ansicon.exe ,它运行命令提示符的新实例,有效地停止配置过程。

有没有更好的方法?我最终必须浏览目录吗?

您可以使用find_program

find_program(WIN_COLOR "ansicon")
IF(WIN_COLOR)
   ...
ENDIF()

最新更新