added support for PlantUML in Doxygen using AX_USE_PLANTUML and in doxygen use @startuml{image.png}...@enduml
This commit is contained in:
		| @@ -543,11 +543,22 @@ AC_DEFUN([AX_USE_SCRIPTS], [ | ||||
|   AC_CONFIG_FILES([scripts/makefile]) | ||||
| ]) | ||||
|  | ||||
| # use this in configure.ac to support PlantUML in Doxygen generation | ||||
| AC_DEFUN([AX_USE_PLANTUML], [ | ||||
| ]) | ||||
|  | ||||
| # use this in configure.ac to support Doxygen documentation generation | ||||
| AC_DEFUN([AX_USE_DOXYGEN], [ | ||||
|   AC_CHECK_PROG(have_doxygen, doxygen, yes, no) | ||||
|   AC_CHECK_PROG(have_dot, dot, yes, no) | ||||
|   AC_CHECK_PROG(have_mscgen, mscgen, yes, no) | ||||
|   if test -f "${srcdir}/doc/plantuml.jar"; then | ||||
|     PLANTUML="doc/plantuml.jar" | ||||
|     AX_SUBST(PLANTUML) | ||||
|   else | ||||
|     AC_MSG_ERROR([NOT FOUND ac_top_srcdir=${ac_top_srcdir} top_srcdir=${top_srcdir} srcdir=${srcdir}]) | ||||
|   fi | ||||
|   AM_CONDITIONAL(HAVE_PLANTUML, test -n "$PLANTUML") | ||||
|   PDF_DOC=${PACKAGE_NAME}-${PACKAGE_VERSION}.pdf | ||||
|   AC_SUBST(PDF_DOC) | ||||
|   if test "$have_doxygen" = "no"; then | ||||
| @@ -569,17 +580,26 @@ AC_DEFUN([AX_USE_DOXYGEN], [ | ||||
|   AX_ADD_MAKEFILE_TARGET_DEP([install-data-am], [install-data-documentation], [doc/makefile.in]) | ||||
|   AX_ADD_MAKEFILE_TARGET_DEP([uninstall-am], [uninstall-documentation], [doc/makefile.in]) | ||||
|   AX_ADD_MAKEFILE_TARGET_DEP([all], [doc], [doc/makefile.in]) | ||||
|   AX_ADD_MAKEFILE_TARGET_DEP([.PHONY], [pdf], [doc/makefile.in]) | ||||
|   AX_ADD_MAKEFILE_TARGET_DEP([.PHONY], [pdf images], [doc/makefile.in]) | ||||
|   test -f doc/makefile.in && cat >> doc/makefile.in <<EOF | ||||
| #### Begin: Appended by $0 | ||||
| doc: doxyfile | ||||
| doc: doxyfile @HAVE_PLANTUML_TRUE@ gen-uml-images | ||||
| 	doxygen doxyfile | ||||
| @PEDANTIC_TRUE@	test \! -s doxygen.errors | ||||
|  | ||||
| @HAVE_PLANTUML_TRUE@gen-uml-images: | ||||
| @HAVE_PLANTUML_TRUE@	test -d gen-uml-images || mkdir gen-uml-images | ||||
| @HAVE_PLANTUML_TRUE@	eval \$\$(sed -n 's, *INPUT *\\(+\\?\\)= *\\(.*\\),INPUT\\1=" \\2",gp' doxyfile); \\ | ||||
| @HAVE_PLANTUML_TRUE@	eval \$\$(sed -n 's, *FILE_PATTERNS *\\(+\\?\\)= *\\(.*\\),FILE_PATTERNS\\1=" \\2",gp' doxyfile); \\ | ||||
| @HAVE_PLANTUML_TRUE@	SOURCES="**.("\$\$(echo \$\${FILE_PATTERNS} | sed 's,*.,,g;s, ,|,g')")"; \\ | ||||
| @HAVE_PLANTUML_TRUE@	for src in \$\$INPUT; do \\ | ||||
| @HAVE_PLANTUML_TRUE@	  java  -Djava.awt.headless=true -jar \${top_srcdir}/\${PLANTUML} -v -o \$\$(pwd)/gen-uml-images "\$\$src/\$\$SOURCES"; \\ | ||||
| @HAVE_PLANTUML_TRUE@	done | ||||
|  | ||||
| clean-documentation: | ||||
| 	-rm doxygen.errors @PDF_DOC@ | ||||
| distclean-documentation: | ||||
| 	-rm -r html | ||||
| 	-rm -r html gen-uml-images | ||||
| 	-rm  @PACKAGE_NAME@.doxytag | ||||
| maintainer-clean-documentation: | ||||
| 	-rm makefile.in | ||||
|   | ||||
| @@ -154,6 +154,7 @@ GENERATED FILES | ||||
|     * doc/header.html.in - if you enabled AX_USE_DOXYGEN | ||||
|     * doc/footer.html.in - if you enabled AX_USE_DOXYGEN | ||||
|     * doc/style.css - if you enabled AX_USE_DOXYGEN | ||||
|     * doc/plantuml.jar - if you enable AX_USE_PLANTUML | ||||
|     * test/makefile.am - if you enabled AX_USE_CPPUNIT and AX_USE_CXX | ||||
|     * test/${DEFAULT_PROJECT_NAME#lib}.cxx - if you enabled AX_BUILD_TEST or AX_USE_CPPUNIT | ||||
|     * examples/makefile.am - if you enabled AX_BUILD_EXAMPLES | ||||
| @@ -242,6 +243,11 @@ FILES | ||||
|       * Enable LibTool library creation: AX_USE_LIBTOOL | ||||
|       * Enable Scripts: AX_USE_SCRIPTS | ||||
|       * Enable Doxygen documentation generation: AX_USE_DOXYGEN | ||||
|       * Enable PlantUML for Doxygen: AX_USE_PLANTUML | ||||
|           Example, add in doxygen documentation: | ||||
|                 @startuml{overview.png} | ||||
|                 Alice -> Bob: test | ||||
|                 @enduml | ||||
|       * Enable Debian packaging by calling "make deb": AX_USE_DEBIAN_PACKAGING | ||||
|       * Enable RPM packaging by calling "make rpm": AX_USE_RPM_PACKAGING | ||||
|       * Enable C++ testing using CppUnit: AX_USE_CPPUNIT | ||||
| @@ -439,6 +445,9 @@ copy() { | ||||
|             source="${0%/*}/$1" | ||||
|         fi | ||||
|     fi | ||||
|     if test "${1%/*}" != "$1"; then | ||||
|         test -d "${1%/*}" || svn mkdir "${1%/*}" | ||||
|     fi | ||||
|     run cp "${source}" "$1" | ||||
|     if test $exists -eq 0; then | ||||
|         if test -n "${VCS}" -a $novcs -eq 0 && ! contains "$1" "${excludevcs[@]}"; then | ||||
| @@ -546,6 +555,7 @@ AX_INIT_STANDARD_PROJECT | ||||
| #AX_USE_LIBTOOL | ||||
| #AX_USE_SCRIPTS | ||||
| #AX_USE_DOXYGEN | ||||
| #AX_USE_PLANTUML | ||||
| #AX_USE_DEBIAN_PACKAGING | ||||
| #AX_USE_RPM_PACKAGING | ||||
| #AX_USE_CPPUNIT | ||||
| @@ -965,6 +975,9 @@ to --condition AX_USE_DOXYGEN doc/style.css <<EOF | ||||
|   margin: 0; | ||||
| } | ||||
| EOF | ||||
| if testtag AX_USE_PLANTUML; then | ||||
|     copy doc/plantuml.jar | ||||
| fi | ||||
| if testtag AX_USE_DOXYGEN; then | ||||
|     if ! checkfile doc/doxyfile.in || \ | ||||
|         contains doc/doxyfile.in "${rebuildfiles[@]}"; then | ||||
| @@ -994,6 +1007,11 @@ if testtag AX_USE_DOXYGEN; then | ||||
|         doxyadd ALIASES '"description=@DESCRIPTION@"' | ||||
|         doxyadd ALIASES '"readme=@README_HTML@"' | ||||
|         doxyadd ALIASES '"author=<a href="@AUTHOR_URL@" target="_blank">@AUTHOR_NAME@</a>"' | ||||
|         if testtag AX_USE_PLANTUML; then | ||||
|             doxyadd ALIASES '"startuml{1}=\\image html \\1\\n\\image latex \\1\\n\\if DontIgnorePlantUMLCode"' | ||||
|             doxyadd ALIASES '"enduml=\\endif"' | ||||
|             doxyadd IMAGE_PATH '"gen-uml-images"' | ||||
|         fi | ||||
|         doxyreplace ENABLE_PREPROCESSING YES | ||||
|         doxyreplace MACRO_EXPANSION YES | ||||
|         doxyadd PREDEFINED '"NAMESPACE=@PACKAGE_NAME@"' | ||||
| @@ -1067,7 +1085,7 @@ if testtag AX_USE_DEBIAN_PACKAGING; then | ||||
|  | ||||
|  -- @AUTHOR@  @BUILD_DATE@ | ||||
| EOF | ||||
|     BUILD_DEPENDS="debhelper, ${VCSDEPENDS} pkg-config, automake, libtool, autotools-dev, pandoc, lsb-release $(if testtag AX_USE_DOXYGEN; then echo -n ", doxygen, graphviz, mscgen"; fi; if testtag AX_USE_CPPUNIT; then echo -n ", libcppunit-dev"; fi; if testtag AX_CXX_QT || testtag AX_CHECK_QT AX_REQUIRE_QT; then echo -n ", qt5-default | libqt4-core | libqtcore4, qt5-qmake | qt4-qmake, qtbase5-dev | libqt4-dev, qtbase5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools"; fi)" | ||||
|     BUILD_DEPENDS="debhelper, ${VCSDEPENDS} pkg-config, automake, libtool, autotools-dev, pandoc, lsb-release $(if testtag AX_USE_DOXYGEN; then echo -n ", doxygen, graphviz, mscgen"; fi; if testtag AX_USE_PLANTUML; then echo -n ", default-jre-headless|default-jre"; fi; if testtag AX_USE_CPPUNIT; then echo -n ", libcppunit-dev"; fi; if testtag AX_CXX_QT || testtag AX_CHECK_QT AX_REQUIRE_QT; then echo -n ", qt5-default | libqt4-core | libqtcore4, qt5-qmake | qt4-qmake, qtbase5-dev | libqt4-dev, qtbase5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools"; fi)" | ||||
|     to debian/control.in <<EOF | ||||
| Source: @PACKAGE_NAME@ | ||||
| Priority: extra | ||||
| @@ -1141,7 +1159,11 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root | ||||
| BuildRequires: gnupg, ${VCSDEPENDS} make, automake, autoconf, rpm-build$( | ||||
|     if testtag AX_USE_DOXYGEN; then | ||||
|       echo -n ", doxygen"; | ||||
|     fi) | ||||
|     fi | ||||
|     if testtag AX_USE_PLANTUML; then | ||||
|       echo -n ", default-jre-headless"; | ||||
|     fi | ||||
| ) | ||||
| %if 0%{?fedora} != 20 | ||||
| $(if testtag AX_USE_DOXYGEN; then echo -n "BuildRequires: graphviz"; fi) | ||||
| %endif | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								scripts/doc/plantuml.jar
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								scripts/doc/plantuml.jar
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user