我正在尝试从CMake执行python脚本,我无法弄清楚如何将参数传递给脚本:
我试过了:
EXECUTE_PROCESS(COMMAND python "${CMAKE_CURRENT_LIST_DIR}/myScript.py" "-myArg myValue")
和myScript
抱怨myArg
缺失。
我试过了:
EXECUTE_PROCESS(COMMAND python "${CMAKE_CURRENT_LIST_DIR}/myScript.py -myArg myValue")
python抱怨python: can't open file ... [Errno 22] Invalid argument
,因为它可能会将整个引用的参数视为文件名。
如何将EXECUTE_PROCESS中的参数传递给python脚本?
编辑:似乎引用的"-myArg myValue"
按原样传递。我改为:
EXECUTE_PROCESS(COMMAND python "${CMAKE_CURRENT_LIST_DIR}/myScript.py" -myArg "myValue")
它有效。来自https://cmake.org/cmake/help/v3.0/command/execute_process.html:
CMake直接使用操作系统API执行子进程。所有参数都将VERBATIM传递给子进程