From 361642c0946fbe75cb1d4b477496a62d0469a19e Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Sat, 27 Apr 2013 20:15:24 +0200 Subject: odk: generate IDL docs with doxygen Change-Id: Ibf7ab46bdd08a42ecf475500d35f92b67d4d8036 --- odk/CustomTarget_doxygen.mk | 32 ++++++++++++++++++++++++++++++ odk/pack/gendocu/idl/Doxyfile | 45 +++++++++++++++++++++++++++++++++++++++++++ odk/pack/gendocu/idl/main.dox | 11 +++++++++++ 3 files changed, 88 insertions(+) create mode 100644 odk/pack/gendocu/idl/Doxyfile create mode 100644 odk/pack/gendocu/idl/main.dox (limited to 'odk') 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. -- cgit