我正试图用breath将脱氧氧和斯芬克斯缝合在一起。
breath需要首先生成doxygenxml输出:https://breathe.readthedocs.io/en/latest/quickstart.html
我不想单独做这件事。我可以让sphinx-build
在构建时为我执行doxygen
吗?我只需要它先用一些参数运行这个命令。这可能不需要编写自定义的sphinx插件吗?
编辑
这适用于
# Need to sleep because sometimes doxygen doesnt finish writing files before sphinx runs
cwd = os.path.dirname(os.path.realpath(__file__))
os.system('doxygen')
time.sleep(3)
当然,在开始文档构建过程之前,Sphinx将执行您添加到其配置文件conf.py
中的任何Python代码。
来自狮身人面像文件:
配置文件在构建时作为Python代码执行(使用
importlib.import_module()
,并将当前目录设置为其包含目录(,因此可以执行任意复杂的代码。然后,Sphinx从文件的命名空间中读取简单名称作为其配置。
这意味着预构建任务可以简单地通过在conf.py
中的任何位置运行外部程序(如您的案例中的Doxygen(作为子流程来实现。