运行python脚本作为cmake构建的一部分

时间:2015-03-02 19:18:02

标签: cmake

我第一次使用cmake,我只是没有运气找到帮助我弄清楚我做错了什么的例子。功能似乎非常基本,但到目前为止我没有尝试过任何有意义的输出或错误。

我有一个文档的PRELOAD命令,只要文档已经创建就可以正常工作。

set(variable_name
       PRELOAD ${_source_directory}/Documents/output.txt AS output.txt
)

但我希望文档生成(通过python脚本完成)也是cmake构建过程的一部分。我想要运行的命令是

python_script.py ${_source_directory}/Documents/input.txt 
                 ${_source_directory}/Documents/output.txt

我希望在PRELOAD语句执行之前运行。

这是我尝试过的一个例子

add_custom_command(
    OUTPUT ${_source_directory}/Documents/output.txt
    COMMAND python_script.py ${_source_directory}/Documents/input.txt
                             ${_source_directory}/Documents/output.txt
)
set(variable_name
       PRELOAD ${_source_directory}/Documents/output.txt AS output.txt
)

但是这给了我同样的错误,就好像add_custom_command甚至没有(“没有规则来制作目标$ {_ source_directory} /Documents/output.txt”)。

1 个答案:

答案 0 :(得分:0)

你做错了。正如评论中提到的set()没有PRELOAD

正确的方法是使用add_custom_target()在期望的目录中生成output.txt,然后使用add_dependencies()生成您要构建的目标,并使用output.txt