如何使用cmake的“execute_process”命令将python脚本的输出编译到所需的位置?

时间:2015-12-12 05:35:57

标签: python cmake

我有一个cmake文件,我使用“execute_command”执行python脚本,如下所示:

execute_process (COMMAND C:/Programs/Python27/python.exe "C:/packaging/doc/release_doc.py" 
--var_ProjectName "${TARGET}" 
--var_version "${_VERSION}" OUTPUT_FILE  "C:/packaging/doc/")

当执行cmake时,我没有在“OUTPUT_FILE”内指定的位置获得输出。我正在执行的python文件实际上正在编译一个latex .tex文件,因此生成相应的pdf文档以及.log文件,.aux文件和.out文件。

当我从乳胶.tex文档所在的位置执行python脚本时,我获取在同一位置生成的所有文件,pdf全部是对齐但是当我必须从cmake执行相同的python脚本时我将所有四个文件放在与.tex文档不同的位置,并且pdf文件对齐被破坏。

那么,请建议我如何在cmake中执行此python文件,并根据需要在该位置输出文件。

1 个答案:

答案 0 :(得分:0)

“C:/ packaging / doc /”是一个文件夹吗?然后请用“C:/packaging/doc/output.txt”替换它。

您也可以尝试使用OUTPUT_VARIABLE并检查它是否有任何区别:

 
    execute_process (COMMAND COMMAND C:/Programs/Python27/python.exe "C:/packaging/doc/release_doc.py" --var_ProjectName "${TARGET}" --var_version "${_VERSION}" OUTPUT_VARIABLE test)
    message(${test})
    file(WRITE "C:/packaging/doc/output2.txt" "${test}")