我无法通过 Meson 的配置运行 Doxygen。

这是 meson.build 中的相关代码:

doxygen = find_program('doxygen')
...
run_target('docs', command : 'doxygen ' + meson.source_root() + '/Doxyfile')

成功找到了 doxygen 可执行文件:



但是,当启动时,我收到此错误消息:



从命令行手动运行它可以工作:
/usr/bin/doxygen /home/project/Doxyfile
doxygen /home/project/Doxyfile

我的 meson.build 配置有什么问题?

最佳答案

根据引用 manual



因此,在您的情况下,介子将整个字符串视为命令,即工具名称,而不是命令 + 参数。所以,试试这个:

run_target('docs', command : ['doxygen', meson.source_root() + '/Doxyfile'])

或者直接使用 find_program() 的结果可能会更好:
doxygen = find_program('doxygen', required : false)
if doxygen.found()
  message('Doxygen found')
  run_target('docs', command : [doxygen, meson.source_root() + '/Doxyfile'])
else
  warning('Documentation disabled without doxygen')
endif

请注意,如果您想在 Doxyfile.in 的支持下改进文档生成,请查看 custom_target()this 之类的示例。

关于c++ - 无法在 C++ 项目上从 Meson 运行 Doxygen,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52520146/

10-14 17:00