我在CMake脚本中有一个自定义命令,该命令会生成大量输出。我想利用CMAKE_VERBOSE_MAKEFILE的优势,因此我可以决定是否要查看此输出。
有一种通用的方法吗?
我看到的一种方法是/dev/null
根据此CMake的标志将输出重定向到,但是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_command
或add_custom_target
代替,则此标志不存在。您必须提供手动重定向到/dev/null
(Unix)或NUL
(Windows)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句