是否可以看到由execute_process运行的命令的实时输出?

时间:2018-07-13 13:47:53

标签: linux cmake

我正在运行一些耗时的bash脚本:

execute_process(
    COMMAND "bash" "slow_script.sh"
    WORKING_DIRECTORY ${INSTALL_SCRIPT_DIR}
    ERROR_VARIABLE ERROR_MESSAGE
    RESULT_VARIABLE ERROR_CODE)

,我想看看进度。我试图显示xterm窗口:

execute_process(
    COMMAND "xterm" "-e" "slow_script.sh"
    WORKING_DIRECTORY ${INSTALL_SCRIPT_DIR}
    ERROR_VARIABLE ERROR_MESSAGE
    RESULT_VARIABLE ERROR_CODE)

它有效,但看起来很丑。

执行脚本时是否可以在CMake输出中显示脚本输出?

1 个答案:

答案 0 :(得分:2)

可能您可以将某些标准/dev设备用作OUTPUT_FILE

以下CMake示例在我的Ubuntu计算机上进行了快速测试:

cmake_minimum_required(VERSION 2.4)

project(TestExecuteProcessToStdOut NONE)

execute_process(
    COMMAND "${CMAKE_COMMAND}" -E echo "Test"
    ERROR_VARIABLE ERROR_MESSAGE
    RESULT_VARIABLE ERROR_CODE
    OUTPUT_FILE "/proc/self/fd/0"
)

参考