[libchamplainmm] Add support for generating documentation



commit fc9531e5920946cd1613d8c9557f9f5d5d1bba3c
Author: Juan R. GarcĂ­a Blanco <juanrgar gmail com>
Date:   Sun Mar 2 16:19:33 2014 +0100

    Add support for generating documentation
    
        * Add docs/ folder.
        * Add logo image.
        * Add Doxyfile.in

 .gitignore                       |   12 ++
 Makefile.am                      |    7 +-
 configure.ac                     |    9 +-
 docs/Makefile.am                 |   37 +++++
 docs/images/champlainmm_logo.gif |  Bin 0 -> 3643 bytes
 docs/images/top.gif              |  Bin 0 -> 260 bytes
 docs/reference/Doxyfile.in       |  290 ++++++++++++++++++++++++++++++++++++++
 7 files changed, 353 insertions(+), 2 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 5a11c5a..89a62d4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+# /
 INSTALL
 Makefile
 Makefile.in
@@ -29,3 +30,14 @@ stamp-it
 *.patch
 *.pc
 *~
+
+# docs
+/docs/doc-install.pl
+/docs/doc-postprocess.pl
+/docs/doxygen.css
+/docs/tagfile-to-devhelp2.xsl
+/docs/reference/Doxyfile
+/docs/reference/doxygen.log
+/docs/reference/champlainmm-*.devhelp2
+/docs/reference/champlainmm-*.tag
+/docs/reference/html/
diff --git a/Makefile.am b/Makefile.am
index 5ba53b9..033545a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -23,7 +23,12 @@ src_subdirs = tools champlain/src
 else
 src_subdirs =
 endif
-SUBDIRS = $(src_subdirs) champlain/champlainmm
+if ENABLE_DOCUMENTATION
+doc_subdirs = docs
+else
+doc_subdirs =
+endif
+SUBDIRS = $(src_subdirs) champlain/champlainmm $(doc_subdirs)
 
 champlainmm_includedir = $(includedir)/$(CHAMPLAINMM_MODULE_NAME)
 champlainmm_include_HEADERS = champlain/champlainmm.h
diff --git a/configure.ac b/configure.ac
index 88021bd..dab0b57 100644
--- a/configure.ac
+++ b/configure.ac
@@ -31,6 +31,11 @@ AC_ARG_VAR([ACLOCAL_FLAGS], [aclocal flags, e.g. -I <macro dir>])
 MM_PREREQ([0.8])
 MM_INIT_MODULE([champlainmm-0.12])
 
+# Copy the mm-common .pl scripts into docs/,
+# and use them from there,
+# so we can dist them to avoid a tarball-build dependency.
+MM_CONFIG_DOCTOOL_DIR([docs])
+
 # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
 AC_SUBST([CHAMPLAINMM_SO_VERSION], [1:0:0])
 
@@ -62,5 +67,7 @@ AC_CONFIG_FILES([Makefile
                  champlain/${CHAMPLAINMM_MODULE_NAME}.pc:champlain/champlainmm.pc.in
                  champlain/${CHAMPLAINMM_MODULE_NAME}-uninstalled.pc:champlain/champlainmm-uninstalled.pc.in
                  champlain/src/Makefile
-                 champlain/champlainmm/Makefile])
+                 champlain/champlainmm/Makefile
+                 docs/Makefile
+                 docs/reference/Doxyfile])
 AC_OUTPUT
diff --git a/docs/Makefile.am b/docs/Makefile.am
new file mode 100644
index 0000000..6ba79b7
--- /dev/null
+++ b/docs/Makefile.am
@@ -0,0 +1,37 @@
+## Copyright (c) 2009  Openismus GmbH  <http://www.openismus.com/>
+##
+## This file is part of libchamplainmm.
+##
+## libchamplainmm is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## libchamplainmm is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+## See the GNU Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this library.  If not, see <http://www.gnu.org/licenses/>.
+
+include $(top_srcdir)/champlain/src/filelist.am
+include $(top_srcdir)/champlain/champlainmm/filelist.am
+
+champlainmm_files_h = $(files_built_h) $(filter-out wrap_init.h,$(files_extra_h))
+
+book_name = $(CHAMPLAINMM_MODULE_NAME)
+doc_input = $(addprefix $(top_srcdir)/champlain/champlainmm/,$(champlainmm_files_h)) \
+           $(top_srcdir)/champlain/champlainmm.h
+
+docimagesdir = $(libdocdir)/images
+dist_docimages_DATA = images/champlainmm_logo.gif images/top.gif
+
+include $(top_srcdir)/build/doc-reference.am
+
+# These are copied here by mm-common:
+dist_noinst_DATA += \
+       doc-install.pl \
+       doc-postprocess.pl \
+       tagfile-to-devhelp2.xsl \
+       doxygen.css
diff --git a/docs/images/champlainmm_logo.gif b/docs/images/champlainmm_logo.gif
new file mode 100644
index 0000000..8b2a53d
Binary files /dev/null and b/docs/images/champlainmm_logo.gif differ
diff --git a/docs/images/top.gif b/docs/images/top.gif
new file mode 100644
index 0000000..85d395c
Binary files /dev/null and b/docs/images/top.gif differ
diff --git a/docs/reference/Doxyfile.in b/docs/reference/Doxyfile.in
new file mode 100644
index 0000000..fc46a55
--- /dev/null
+++ b/docs/reference/Doxyfile.in
@@ -0,0 +1,290 @@
+# Doxyfile 1.6.1
+# @configure_input@
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+DOXYFILE_ENCODING      = UTF-8
+PROJECT_NAME           = @PACKAGE_NAME@
+PROJECT_NUMBER         = @PACKAGE_VERSION@
+OUTPUT_DIRECTORY       = reference
+CREATE_SUBDIRS         = NO
+OUTPUT_LANGUAGE        = English
+BRIEF_MEMBER_DESC      = YES
+REPEAT_BRIEF           = YES
+ABBREVIATE_BRIEF       = "The $name class" \
+                         "The $name widget" \
+                         "The $name file" \
+                         is \
+                         provides \
+                         specifies \
+                         contains \
+                         represents \
+                         a \
+                         an \
+                         the
+ALWAYS_DETAILED_SEC    = NO
+INLINE_INHERITED_MEMB  = NO
+FULL_PATH_NAMES        = YES
+STRIP_FROM_PATH        = "@abs_top_builddir@/champlain/" \
+                         "@abs_top_srcdir@/champlain/"
+STRIP_FROM_INC_PATH    = "@abs_top_builddir@/champlain/" \
+                         "@abs_top_srcdir@/champlain/"
+SHORT_NAMES            = NO
+JAVADOC_AUTOBRIEF      = YES
+QT_AUTOBRIEF           = NO
+MULTILINE_CPP_IS_BRIEF = NO
+INHERIT_DOCS           = YES
+SEPARATE_MEMBER_PAGES  = NO
+TAB_SIZE               = 8
+ALIASES                = "newin{2}=\xrefitem since_\1_\2 \"Since @PACKAGE_NAME@ \1.\2\" \"New API in 
@PACKAGE_NAME@ \1.\2\""
+OPTIMIZE_OUTPUT_FOR_C  = NO
+OPTIMIZE_OUTPUT_JAVA   = NO
+OPTIMIZE_FOR_FORTRAN   = NO
+OPTIMIZE_OUTPUT_VHDL   = NO
+EXTENSION_MAPPING      =
+BUILTIN_STL_SUPPORT    = NO
+CPP_CLI_SUPPORT        = NO
+SIP_SUPPORT            = NO
+IDL_PROPERTY_SUPPORT   = YES
+DISTRIBUTE_GROUP_DOC   = NO
+SUBGROUPING            = YES
+TYPEDEF_HIDES_STRUCT   = NO
+SYMBOL_CACHE_SIZE      = 0
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL            = YES
+EXTRACT_PRIVATE        = NO
+EXTRACT_STATIC         = NO
+EXTRACT_LOCAL_CLASSES  = NO
+EXTRACT_LOCAL_METHODS  = NO
+EXTRACT_ANON_NSPACES   = NO
+HIDE_UNDOC_MEMBERS     = NO
+HIDE_UNDOC_CLASSES     = NO
+HIDE_FRIEND_COMPOUNDS  = YES
+HIDE_IN_BODY_DOCS      = YES
+INTERNAL_DOCS          = NO
+CASE_SENSE_NAMES       = YES
+HIDE_SCOPE_NAMES       = NO
+SHOW_INCLUDE_FILES     = NO
+INLINE_INFO            = YES
+SORT_MEMBER_DOCS       = YES
+SORT_BRIEF_DOCS        = NO
+SORT_MEMBERS_CTORS_1ST = YES
+SORT_GROUP_NAMES       = YES
+SORT_BY_SCOPE_NAME     = YES
+GENERATE_TODOLIST      = NO
+GENERATE_TESTLIST      = NO
+GENERATE_BUGLIST       = NO
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS       =
+MAX_INITIALIZER_LINES  = 2
+SHOW_USED_FILES        = YES
+SHOW_DIRECTORIES       = NO
+SHOW_FILES             = NO
+SHOW_NAMESPACES        = YES
+FILE_VERSION_FILTER    =
+LAYOUT_FILE            =
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET                  = NO
+WARNINGS               = YES
+WARN_IF_UNDOCUMENTED   = YES
+WARN_IF_DOC_ERROR      = YES
+WARN_NO_PARAMDOC       = NO
+WARN_FORMAT            = "$file:$line: $text"
+WARN_LOGFILE           = reference/doxygen.log
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT                  =
+INPUT_ENCODING         = UTF-8
+FILE_PATTERNS          =
+RECURSIVE              = NO
+EXCLUDE                =
+EXCLUDE_SYMLINKS       = NO
+EXCLUDE_PATTERNS       =
+EXCLUDE_SYMBOLS        = _* \
+                         adaptor_trait \
+                         basic_filebuf \
+                         basic_streambuf \
+                         binary_function \
+                         char_traits \
+                         internal \
+                         pair \
+                         unary_function
+EXAMPLE_PATH           =
+EXAMPLE_PATTERNS       = *.cc \
+                         *.h
+EXAMPLE_RECURSIVE      = NO
+IMAGE_PATH             =
+INPUT_FILTER           =
+FILTER_PATTERNS        =
+FILTER_SOURCE_FILES    = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER         = NO
+INLINE_SOURCES         = NO
+STRIP_CODE_COMMENTS    = YES
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION    = NO
+REFERENCES_LINK_SOURCE = YES
+USE_HTAGS              = NO
+VERBATIM_HEADERS       = NO
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX     = YES
+COLS_IN_ALPHA_INDEX    = 5
+IGNORE_PREFIX          =
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML          = YES
+HTML_OUTPUT            = html
+HTML_FILE_EXTENSION    = .html
+HTML_HEADER            =
+HTML_FOOTER            =
+HTML_STYLESHEET        = "@MMDOCTOOLDIR@/doxygen.css"
+HTML_ALIGN_MEMBERS     = YES
+HTML_DYNAMIC_SECTIONS  = NO
+GENERATE_DOCSET        = NO
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+GENERATE_HTMLHELP      = NO
+CHM_FILE               =
+HHC_LOCATION           =
+GENERATE_CHI           = NO
+CHM_INDEX_ENCODING     =
+BINARY_TOC             = NO
+TOC_EXPAND             = NO
+GENERATE_QHP           = NO
+QCH_FILE               =
+QHP_NAMESPACE          =
+QHP_VIRTUAL_FOLDER     = doc
+QHP_CUST_FILTER_NAME   =
+QHP_CUST_FILTER_ATTRS  =
+QHP_SECT_FILTER_ATTRS  =
+QHG_LOCATION           =
+DISABLE_INDEX          = NO
+ENUM_VALUES_PER_LINE   = 1
+GENERATE_TREEVIEW      = NONE
+USE_INLINE_TREES       = NO
+TREEVIEW_WIDTH         = 250
+FORMULA_FONTSIZE       = 10
+SEARCHENGINE           = NO
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX         = NO
+LATEX_OUTPUT           = latex
+LATEX_CMD_NAME         = latex
+MAKEINDEX_CMD_NAME     = makeindex
+COMPACT_LATEX          = NO
+PAPER_TYPE             = a4wide
+EXTRA_PACKAGES         =
+LATEX_HEADER           =
+PDF_HYPERLINKS         = YES
+USE_PDFLATEX           = YES
+LATEX_BATCHMODE        = NO
+LATEX_HIDE_INDICES     = NO
+LATEX_SOURCE_CODE      = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF           = NO
+RTF_OUTPUT             = rtf
+COMPACT_RTF            = NO
+RTF_HYPERLINKS         = NO
+RTF_STYLESHEET_FILE    =
+RTF_EXTENSIONS_FILE    =
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN           = NO
+MAN_OUTPUT             = man
+MAN_EXTENSION          = .3
+MAN_LINKS              = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML           = NO
+XML_OUTPUT             = xml
+XML_SCHEMA             =
+XML_DTD                =
+XML_PROGRAMLISTING     = NO
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF   = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD       = NO
+PERLMOD_LATEX          = NO
+PERLMOD_PRETTY         = YES
+PERLMOD_MAKEVAR_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING   = YES
+MACRO_EXPANSION        = YES
+EXPAND_ONLY_PREDEF     = YES
+SEARCH_INCLUDES        = YES
+INCLUDE_PATH           = "@abs_top_builddir@/champlain" \
+                         "@abs_top_srcdir@/champlain"
+INCLUDE_FILE_PATTERNS  = *.h
+PREDEFINED             = __cplusplus \
+                         DOXYGEN_SHOULD_SKIP_THIS \
+                         "G_GNUC_CONST=" \
+                         GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED \
+                         GLIBMM_EXCEPTIONS_ENABLED \
+                         GLIBMM_HAVE_WIDE_STREAM \
+                         GLIBMM_PROPERTIES_ENABLED \
+                         GLIBMM_VFUNCS_ENABLED \
+                         "CHAMPLAINMM_API="
+EXPAND_AS_DEFINED      = CHAMPLAINMM_MAJOR_VERSION \
+                         CHAMPLAINMM_MINOR_VERSION \
+                         CHAMPLAINMM_MICRO_VERSION
+SKIP_FUNCTION_MACROS   = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+TAGFILES               = @DOXYGEN_TAGFILES@
+GENERATE_TAGFILE       = "reference/@CHAMPLAINMM_MODULE_NAME  tag"
+ALLEXTERNALS           = NO
+EXTERNAL_GROUPS        = NO
+PERL_PATH              = @PERL@
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS         = NO
+MSCGEN_PATH            =
+HIDE_UNDOC_RELATIONS   = NO
+HAVE_DOT               = YES
+DOT_FONTNAME           = FreeSans
+DOT_FONTSIZE           = 10
+DOT_FONTPATH           =
+CLASS_GRAPH            = YES
+COLLABORATION_GRAPH    = YES
+GROUP_GRAPHS           = YES
+UML_LOOK               = NO
+TEMPLATE_RELATIONS     = YES
+INCLUDE_GRAPH          = NO
+INCLUDED_BY_GRAPH      = NO
+CALL_GRAPH             = NO
+CALLER_GRAPH           = NO
+GRAPHICAL_HIERARCHY    = YES
+DIRECTORY_GRAPH        = NO
+DOT_IMAGE_FORMAT       = png
+DOT_PATH               =
+DOTFILE_DIRS           =
+DOT_GRAPH_MAX_NODES    = 50
+MAX_DOT_GRAPH_DEPTH    = 0
+DOT_TRANSPARENT        = NO
+DOT_MULTI_TARGETS      = YES
+GENERATE_LEGEND        = YES
+DOT_CLEANUP            = YES


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]