我正在编写一个库(使用libtools),其中所有api文档都使用doxygen完成。

我想知道是否有一种简单的方法可以将生成的doxygen文档的安装集成到Autotools中。

我认为构建文档应该很容易。 但是一旦我ran doxygen,将生成的(例如).html文件达到$(htmldir)?

问题似乎是我不知道(我也想知道)哪个文件doxygen会为我创造,所以我不能真正将它们全部枚举到html_data

我认为类似'html_data= html /**'是一个 bad Ideo

有帮助吗?

解决方案

虽然我自己没有足够的体验,但是在这款可能使用的邮件线程上进行了几个建议: http://old.nabble.com/HOW-install-doxygen-engion-html-documentation - td17029178.html

其他提示

使用一些贡献的宏可能更紧凑。在这里,我已经弄清了一个简单的方法,基于John Calcote PG 246的Autotools Book的示例。

添加以下内容以配置为comply.ac在上方

AC_CONFIG_FILES([Makefile
.

线

AC_CHECK_PROGS([DOXYGEN], [doxygen])
if test -z "$DOXYGEN"; then
   AC_MSG_WARN([Doxygen not found - continue without Doxygen support])
fi
AC_CHECK_PROGS([DOT], [dot])
if test -z "$DOT"; then
   AC_MSG_ERROR([Doxygen needs dot, please install dot first])
fi
AC_CHECK_PROGS([PDFLATEX], [pdflatex])
if test -z "$PDFLATEX"; then
   AC_MSG_ERROR([Doxygen needs pdflatex program, it is part of TeX http://www.tug.org/texlive/acquire-netinstall.html])
fi
AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"])
AM_COND_IF([HAVE_DOXYGEN], [AC_CONFIG_FILES([docs/Doxyfile])])
AM_COND_IF([HAVE_DOXYGEN], [AC_CONFIG_FILES([docs/Makefile])])
.

在ProjectDir / Docs目录

添加两个文件:doxyfile.in和makefile.am

使用替换变量:

PROJECT_NAME           = @PACKAGE_NAME@
PROJECT_NUMBER         = @PACKAGE_VERSION@
INPUT                  = @top_srcdir@
.

然后对其他doxygen配置字段进行适当的修改。

LATEX_OUTPUT           = latex
PDF_HYPERLINKS         = YES
USE_PDFLATEX           = YES
.

以这种方式,您将生成PDF文件。

makefile.am应该很简单:

if HAVE_DOXYGEN
directory = $(top_srcdir)/docs/man/man3

man_MANS = $(directory)

$(directory): doxyfile.stamp

doxyfile.stamp: Doxyfile
    $(DOXYGEN) $^
    cd latex && $(MAKE)
    echo Timestamp > $@

CLEANFILES = doxyfile.stamp

all-local: doxyfile.stamp
clean-local:
    -rm -rf $(top_srcdir)/docs/man

endif
.

(确保在复制此时尊重makefile缩进。)

这似乎为我工作了。生成的文档是在Docs文件夹中生成的。如果我犯过任何错误,请告诉我。

我使用oren ben-kiki的宏,看 http://www.ben-kiki.org/oren/doxample/ 或谷歌它。该脚本以pdf / html / man(可配置)格式为单位创建doxygen文档。

将生成的帮助文件添加到makefile.am中的* dist_doc_data *列表中,以使它们安装。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top