CMake execute_process执行脚本,它使用输入和输出

时间:2017-08-06 17:36:53

标签: input cmake output

如果我使用execute_process从CMake调用Python / Bash脚本,并且此脚本使用输入/输出,则它不起作用 - 在脚本执行时无法获取任何输入或显示输出。有什么办法吗?我需要根据用户输入以不同方式继续构建我的项目。 示例CMakeLists.txt

execute_process(
  COMMAND python ${MY_BUILD_DIR}/test_input.py
)

示例test_input.py

result = raw_input("Enter something + [ENTER]: ")
print(result)

编辑: 实际上,如果在execute_process中将此脚本仅作为COMMAND调用(如我的示例中所示),则Python会正常等待输入,但不会输出任何输出(“输入内容+ [ENTER]:”)。如果我使用另一个COMMAND和类似的Python(或Bash)脚本,那么raw_input将从第一个脚本(如execute_process中所述)返回输出(“输入内容+ [ENTER]:”+结果)但后续的raw_input调用将失败“EOFError :读取一行时的EOF“好像从文件读取输入并收到EOF但我希望从标准输入读取下一行。

所以我有两个问题:

  1. 通过execute_process执行脚本期间无法显示任何内容。
  2. 在后续脚本中无法正常读取标准输入。

0 个答案:

没有答案