Question

J'écris une bibliothèque (en utilisant libtools), où toute la documentation de l'API est effectuée à l'aide de Doxygen.

Je me demande s'il existe un moyen facile d'intégrer l'installation de la documentation Doxygen générée dans AutoTools.

Je pense que la construction de la documentation devrait être suffisamment facile. Mais une fois que j'ai couru Doxygen, quel est le moyen approprié d'obtenir les fichiers générés (par exemple) .html en $ (HTMLDIR)?

Le problème semble être que je ne sais pas (je ne veux pas non plus savoir) quels fichiers Doxygen va créer pour moi, donc je ne peux donc pas vraiment les énumérer dans HTML_DATA

Je trouve quelque chose comme 'html_data= html /*.*' est une idée mauvaise

Était-ce utile?

La solution

Pendant que je n'ai pas beaucoup d'expérience avec AutoTools moi-même, plusieurs suggestions sont faites sur ce fil de courrier qui peut être utile: http://old.nofabile.com/HOW-TO-INSTALL-DOXYGEN-Génération-HTML-Documentation - TD17029178.HTML

Autres conseils

Il pourrait être plus compact d'utiliser certaines macros contribuées.Ici, j'ai trouvé une méthode simple basée sur les exemples du livre AutoTools de John Calcote PG 246.

Ajoutez les éléments suivants à Configurer.ac juste au-dessus de la

AC_CONFIG_FILES([Makefile

ligne

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])])

Dans le répertoire du PROJECTDIR / DOCS

Ajouter deux fichiers: doxyfile.in et makefile.am

Utiliser la variable de substitution par exemple:

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

puis effectuez une modification appropriée dans d'autres champs de configuration Doxygen.

LATEX_OUTPUT           = latex
PDF_HYPERLINKS         = YES
USE_PDFLATEX           = YES

De cette façon, vous générerez un fichier PDF.

Le makefile.am devrait être simple:

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

(Assurez-vous de respecter une indentation de fabrication en copiant cela.)

Cela semblait avoir travaillé pour moi.La documentation résultante est générée dans le dossier DOCS.S'il vous plaît laissez-moi savoir si j'ai fait des erreurs.

J'utilise la macro de Oren Ben-Kiki, voir http://www.ben-kiki.org/oren/doxample/ ou Google.Le script crée la documentation Doxygen dans le format PDF / HTML / Man (configurable).

Ajoutez vos fichiers d'aide générés à la liste * dist_doc_data * dans makefile.am, pour les installer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top