summaryrefslogtreecommitdiff
path: root/odk
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2013-04-27 20:15:24 +0200
committerMichael Stahl <mstahl@redhat.com>2013-06-04 12:00:57 +0200
commit361642c0946fbe75cb1d4b477496a62d0469a19e (patch)
treedd4347263af9f73371aba7fe74c3a3ef78bb4be1 /odk
parent3d9c1b35accacfb797174d31467c1704c305f073 (diff)
odk: generate IDL docs with doxygen
Change-Id: Ibf7ab46bdd08a42ecf475500d35f92b67d4d8036
Diffstat (limited to 'odk')
-rw-r--r--odk/CustomTarget_doxygen.mk32
-rw-r--r--odk/pack/gendocu/idl/Doxyfile45
-rw-r--r--odk/pack/gendocu/idl/main.dox11
3 files changed, 88 insertions, 0 deletions
diff --git a/odk/CustomTarget_doxygen.mk b/odk/CustomTarget_doxygen.mk
index b093648ce967..bf92167d8b96 100644
--- a/odk/CustomTarget_doxygen.mk
+++ b/odk/CustomTarget_doxygen.mk
@@ -54,4 +54,36 @@ $(call gb_CustomTarget_get_workdir,odk/docs)/cpp/doxygen.log : \
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),GEN,1)
$(DOXYGEN) $< > $@
+$(eval $(call gb_CustomTarget_register_targets,odk/docs,\
+ idl/Doxyfile \
+ idl/doxygen.log \
+))
+
+odk_idl_PREFIX := $(SRCDIR)/udkapi/ $(SRCDIR)/offapi/
+odk_idl_DOXY_INPUT := $(SRCDIR)/odk/pack/gendocu/idl/main.dox \
+ $(addsuffix com,$(odk_idl_PREFIX)) \
+odk_idl_DOXY_WORKDIR := $(call gb_CustomTarget_get_workdir,odk/docs/idl)/ref
+
+# don't depend on the IDL files directly but instead on the udkapi/offapi
+# which will get rebuilt when any IDL file changes
+$(call gb_CustomTarget_get_workdir,odk/docs)/idl/Doxyfile : \
+ $(SRCDIR)/odk/pack/gendocu/idl/Doxyfile \
+ $(call gb_UnoApi_get_target,udkapi) \
+ $(call gb_UnoApi_get_target,offapi) \
+ $(gb_Module_CURRENTMAKEFILE)
+ $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),SED,1)
+ sed -e 's!^INPUT = %$$!INPUT = $(call odk_cygwin_path,$(odk_idl_DOXY_INPUT))!' \
+ -e 's!^OUTPUT_DIRECTORY = %$$!OUTPUT_DIRECTORY = $(call odk_cygwin_path,$(odk_idl_DOXY_WORKDIR))!' \
+ -e 's!^PROJECT_BRIEF = %$$!PROJECT_BRIEF = "$(PRODUCTNAME) $(PRODUCTVERSION) SDK API Reference"!' \
+ -e 's!^PROJECT_NAME = %$$!PROJECT_NAME = $(PRODUCTNAME)!' \
+ -e 's!^QUIET = %$$!QUIET = $(if $(VERBOSE),NO,YES)!' \
+ -e 's!^STRIP_FROM_PATH = %$$!STRIP_FROM_PATH = $(call odk_cygwin_path,$(odk_idl_PREFIX))!' \
+ $< > $@
+
+$(call gb_CustomTarget_get_workdir,odk/docs)/idl/doxygen.log : \
+ $(call gb_CustomTarget_get_workdir,odk/docs)/idl/Doxyfile \
+ $(SRCDIR)/odk/pack/gendocu/idl/main.dox
+ $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),GEN,1)
+ $(DOXYGEN) $< > $@
+
# vim: set noet sw=4 ts=4:
diff --git a/odk/pack/gendocu/idl/Doxyfile b/odk/pack/gendocu/idl/Doxyfile
new file mode 100644
index 000000000000..14ff337b4ead
--- /dev/null
+++ b/odk/pack/gendocu/idl/Doxyfile
@@ -0,0 +1,45 @@
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+PROJECT_BRIEF = %
+PROJECT_NAME = %
+OUTPUT_DIRECTORY = %
+STRIP_FROM_PATH = %
+INPUT = %
+RECURSIVE = YES
+
+HTML_OUTPUT = .
+GENERATE_LATEX = NO
+
+QUIET = %
+WARNINGS = YES
+WARN_IF_DOC_ERROR = YES
+WARN_FORMAT = "$file:$line: $text"
+
+# for windows? actually should NOT need this - no case collision in files!
+# note this changes filenames (uppercase letters translated to "_lowercase")
+#CASE_SENSE_NAMES = NO
+# this is bad because the directories have random names...
+#CREATE_SUBDIRS = YES
+# hmm... not sure if we want the source files in the output?
+#SHOW_USED_FILES = NO
+#SHOW_FILES = NO
+# make it possible to auto-generate links to all compounds and members
+PREDICTABLE_URLS = YES
+
+# ideally everything should be documented, but...
+EXTRACT_ALL = YES
+# first line is "brief" doc
+JAVADOC_AUTOBRIEF = YES
+# we want detailed description for everything, starting with "brief" doc
+REPEAT_BRIEF = YES
+ALWAYS_DETAILED_SEC = YES
+# by default members detail sections are prefixed with ns-qualified class
+# name which looks like overkill/clutter
+HIDE_SCOPE_NAMES = YES
+
diff --git a/odk/pack/gendocu/idl/main.dox b/odk/pack/gendocu/idl/main.dox
new file mode 100644
index 000000000000..b5d1d755ed0a
--- /dev/null
+++ b/odk/pack/gendocu/idl/main.dox
@@ -0,0 +1,11 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+/// \mainpage
+///
+/// This is a reference documentation for the UNO IDL API.