如何从CMakeLists.txt运行python脚本



我有一个DDS项目,它接受IDL文件,并使用";ProcessIDL.py";剧本以前,这是在Visual Studio中作为预构建步骤完成的。我正在将项目转换为CMake,以与其他存储库保持一致,因此我认为运行ProcessIDL.py作为CMake构建步骤的一部分是有意义的。

我尝试过使用execute_process,但它似乎什么都没做,没有错误,没有python脚本的输出,所以我认为它根本没有运行。这是我的尝试:

include(FindPythonInterp)
set (py_cmd "python ProcessIDL.py")
message(STATUS ${PYTHON_EXECUTABLE})
execute_process(
COMMAND ${py_cmd}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/DdsIdl
ERROR_VARIABLE error
OUTPUT_VARIABLE output
)

我也试过这个:

include(FindPythonInterp)
set (py_cmd "python ProcessIDL.py")
message(STATUS ${PYTHON_EXECUTABLE})
execute_process(
COMMAND ${PYTHON_EXECUTABLE} ${py_cmd}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/DdsIdl
ERROR_VARIABLE error
OUTPUT_VARIABLE output
)

";错误";以及";输出";变量为空。

我很困惑,所以任何提示都将不胜感激!!

这是通过更改工作目录来解决的:

execute_process(COMMAND python ProcessIDL.py 
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})

相关内容

  • 没有找到相关文章

最新更新