gpt4 book ai didi

cmake - 根据 CMAKE_VERBOSE_MAKEFILE 静音自定义命令

转载 作者:行者123 更新时间:2023-12-02 17:41:12 31 4
gpt4 key购买 nike

我的 CMake 脚本中有一个生成大量输出的自定义命令。我想利用 CMAKE_VERBOSE_MAKEFILE,这样我就可以决定是否要查看此输出。

有通用的方法吗?

我看到的一种方法是根据这个 CMake 的标志将输出重定向到 /dev/null,但是 Windows 和其他操作系统呢?

有没有便携或者推荐的方式? C/C++编译命令的默认规则呢?

最佳答案

从技术上讲,CMAKE_VERBOSE_MAKEFILE 的存在是为了隐藏和显示命令行,而不是命令输出。

如果必须这样做,我会使用自定义变量。

但是在主题上,您应该这样做:

if (COMMAND_VERBOSE)
execute_process(COMMAND "mycustom_command")
else (COMMAND_VERBOSE)
execute_process(COMMAND "mycustom_command" OUTPUT_QUIET)
endif (COMMAND_VERBOSE)

这是最便携的方式。

还有一个 ERROR_QUIET 标志,但是禁用错误消息不是一个好主意,否则如果命令失败,用户将看不到命令​​失败的原因。

如果您使用 add_custom_commandadd_custom_target 代替,则此类标志不存在。您必须提供到 /dev/null (Unix) 或 NUL (Windows) 的手动重定向。

关于cmake - 根据 CMAKE_VERBOSE_MAKEFILE 静音自定义命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20420822/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com