summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmanoil Kotsev <deloptes@gmail.com>2025-06-25 20:25:49 +0000
committerEmanoil Kotsev <deloptes@gmail.com>2025-07-03 23:24:35 +0000
commit021dbc78753ad0b4905dd6de53250a10a836ad99 (patch)
treecd2ed00509797e133f989808031712581ebe4b89
parent5b4685c0df85649d6d14f46ef3e3286cdb308fa5 (diff)
downloadtdemultimedia-feat/apidocs.tar.gz
tdemultimedia-feat/apidocs.zip
Generating apidocs with the new macro tde_add_project_apidocs()feat/apidocs
Signed-off-by: Emanoil Kotsev <deloptes@gmail.com>
-rw-r--r--CMakeLists.txt40
-rw-r--r--kmix/kmix.Doxyfile.cmake6
-rw-r--r--krec/krec.Doxyfile.cmake6
-rw-r--r--mpeglib/mpeglib.Doxyfile.cmake25
-rw-r--r--tdemultimedia.doxygen.template257
5 files changed, 302 insertions, 32 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6e27d43a..0f0f5f77 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -87,6 +87,7 @@ option( BUILD_NOATUN "Build noatun player" ${BUILD_ALL} )
option( BUILD_TDEFILE_PLUGINS "Build tdefile plugins" ${BUILD_ALL} )
option( BUILD_TDEIOSLAVE "Build tdeio slave plugins" ${BUILD_ALL} )
option( BUILD_TDEMID "Build tdemid" ${BUILD_ALL} )
+option( BUILD_APIDOX "Build documentation for developers" ${BUILD_ALL} )
##### configure checks ##########################
@@ -164,36 +165,11 @@ tde_conditional_add_subdirectory( BUILD_TDEMID tdemid )
configure_file( config.h.cmake config.h @ONLY )
+##### build apidox ########################
-##### add apidox targets ############
-
-add_custom_target( apidox
- COMMAND ${CMAKE_COMMAND} -E env
- "TQTDOCDIR=/usr/share/tqt3/doc/html"
- "DOXDATA=${HTML_INSTALL_DIR}/en/common"
- ${CMAKE_SOURCE_DIR}/admin/doxygen.sh
- --no-modulename
- ${CMAKE_SOURCE_DIR}
- COMMAND
- find ${CMAKE_BINARY_DIR}/apidocs -name '*.html' |
- xargs -r sed -i 's|${CMAKE_BINARY_DIR}/apidocs|${HTML_INSTALL_DIR}/en/${PROJECT_NAME}-apidocs|g'
- COMMAND
- find ${CMAKE_BINARY_DIR}/apidocs -name '*.tag' |
- xargs -r sed -i 's|${CMAKE_SOURCE_DIR}/|${PROJECT_NAME}/|g'
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
-)
-
-add_custom_target( install-apidox
- COMMAND ${CMAKE_COMMAND} -E echo Apidox installed in ${HTML_INSTALL_DIR}/en/${PROJECT_NAME}-apidocs
-)
-
-install( CODE "
- if( EXISTS ${CMAKE_BINARY_DIR}/apidocs )
- file(
- INSTALL ${CMAKE_BINARY_DIR}/apidocs/
- DESTINATION ${HTML_INSTALL_DIR}/en/${PROJECT_NAME}-apidocs
- PATTERN doxygen_sqlite3.db EXCLUDE
- PATTERN installdox-slow EXCLUDE
- )
- endif()"
-)
+if( BUILD_APIDOX )
+ make_directory(${CMAKE_BINARY_DIR}/${PROJECT_NAME}-apidocs/kmix)
+ make_directory(${CMAKE_BINARY_DIR}/${PROJECT_NAME}-apidocs/krec)
+ make_directory(${CMAKE_BINARY_DIR}/${PROJECT_NAME}-apidocs/mpeglib)
+ tde_add_project_apidocs()
+endif()
diff --git a/kmix/kmix.Doxyfile.cmake b/kmix/kmix.Doxyfile.cmake
new file mode 100644
index 00000000..846a7fa6
--- /dev/null
+++ b/kmix/kmix.Doxyfile.cmake
@@ -0,0 +1,6 @@
+@INCLUDE = ${PROJECT_SOURCE_DIR}/tdemultimedia.doxygen.template
+#overwrite
+PROJECT_NAME = tdemultimedia-kmix
+PROJECT_NUMBER = 1.0
+OUTPUT_DIRECTORY = ${APIDOX_OUTPUT_DIR}/kmix
+INPUT = ${PROJECT_SOURCE_DIR}/kmix
diff --git a/krec/krec.Doxyfile.cmake b/krec/krec.Doxyfile.cmake
new file mode 100644
index 00000000..04da33a3
--- /dev/null
+++ b/krec/krec.Doxyfile.cmake
@@ -0,0 +1,6 @@
+@INCLUDE = ${PROJECT_SOURCE_DIR}/tdemultimedia.doxygen.template
+#overwrite
+PROJECT_NAME = tdemultimedia-krec
+PROJECT_NUMBER = 1.0
+OUTPUT_DIRECTORY = ${APIDOX_OUTPUT_DIR}/krec
+INPUT = ${PROJECT_SOURCE_DIR}/krec
diff --git a/mpeglib/mpeglib.Doxyfile.cmake b/mpeglib/mpeglib.Doxyfile.cmake
new file mode 100644
index 00000000..b9dac30a
--- /dev/null
+++ b/mpeglib/mpeglib.Doxyfile.cmake
@@ -0,0 +1,25 @@
+@INCLUDE = ${PROJECT_SOURCE_DIR}/tdemultimedia.doxygen.template
+#overwrite
+PROJECT_NAME = tdemultimedia-mpeglib
+PROJECT_NUMBER = ${MPEGLIB_VERSION}
+OUTPUT_DIRECTORY = ${APIDOX_OUTPUT_DIR}/mpeglib
+INPUT = ${PROJECT_SOURCE_DIR}/mpeglib/lib/util \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/util/mmx \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/util/audio \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/util/render \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/util/render/sdl \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/util/render/dither2YUV \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/util/render/dither \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/util/render/x11 \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/util/abstract \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/util/file \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/frame \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/input \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/mpegplay \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/decoder \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/output \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/tplay \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/mpgplayer \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/yuv \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/splay \
+ ${PROJECT_SOURCE_DIR}/mpeglib/lib/oggvorbis
diff --git a/tdemultimedia.doxygen.template b/tdemultimedia.doxygen.template
new file mode 100644
index 00000000..f5b8f8cd
--- /dev/null
+++ b/tdemultimedia.doxygen.template
@@ -0,0 +1,257 @@
+DOXYFILE_ENCODING = UTF-8
+PROJECT_NAME = ${APIDOX_PROJECT_NAME}
+PROJECT_NUMBER = 1.0
+OUTPUT_DIRECTORY = ${APIDOX_OUTPUT_DIRECTORY}
+CREATE_SUBDIRS = NO
+OUTPUT_LANGUAGE = English
+BRIEF_MEMBER_DESC = NO
+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 = NO
+STRIP_FROM_PATH = /Applications/
+STRIP_FROM_INC_PATH =
+SHORT_NAMES = NO
+JAVADOC_AUTOBRIEF = NO
+QT_AUTOBRIEF = NO
+MULTILINE_CPP_IS_BRIEF = NO
+INHERIT_DOCS = YES
+SEPARATE_MEMBER_PAGES = NO
+TAB_SIZE = 2
+ALIASES =
+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
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+EXTRACT_LOCAL_CLASSES = YES
+EXTRACT_LOCAL_METHODS = NO
+EXTRACT_ANON_NSPACES = NO
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+HIDE_FRIEND_COMPOUNDS = NO
+HIDE_IN_BODY_DOCS = NO
+INTERNAL_DOCS = NO
+CASE_SENSE_NAMES = NO
+HIDE_SCOPE_NAMES = NO
+SHOW_INCLUDE_FILES = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+SORT_BRIEF_DOCS = NO
+SORT_MEMBERS_CTORS_1ST = NO
+SORT_GROUP_NAMES = NO
+SORT_BY_SCOPE_NAME = NO
+GENERATE_TODOLIST = YES
+GENERATE_TESTLIST = YES
+GENERATE_BUGLIST = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS =
+MAX_INITIALIZER_LINES = 30
+SHOW_USED_FILES = YES
+SHOW_DIRECTORIES = NO
+SHOW_FILES = YES
+SHOW_NAMESPACES = YES
+FILE_VERSION_FILTER =
+LAYOUT_FILE =
+QUIET = NO
+WARNINGS = YES
+WARN_IF_UNDOCUMENTED = YES
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = NO
+WARN_FORMAT = "$file:$line: $text"
+WARN_LOGFILE =
+INPUT = ${APIDOX_SOURCE_DIRECTORY}
+INPUT_ENCODING = UTF-8
+FILE_PATTERNS = *.c \
+ *.cc \
+ *.cxx \
+ *.cpp \
+ *.c++ \
+ *.d \
+ *.java \
+ *.ii \
+ *.ixx \
+ *.ipp \
+ *.i++ \
+ *.inl \
+ *.h \
+ *.hh \
+ *.hxx \
+ *.hpp \
+ *.h++ \
+ *.idl \
+ *.odl \
+ *.cs \
+ *.php \
+ *.php3 \
+ *.inc \
+ *.m \
+ *.mm \
+ *.dox \
+ *.py \
+ *.C \
+ *.CC \
+ *.C++ \
+ *.II \
+ *.I++ \
+ *.H \
+ *.HH \
+ *.H++ \
+ *.CS \
+ *.PHP \
+ *.PHP3 \
+ *.M \
+ *.MM \
+ *.PY
+RECURSIVE = NO
+EXCLUDE =
+EXCLUDE_SYMLINKS = NO
+EXCLUDE_PATTERNS =
+EXCLUDE_SYMBOLS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS = *
+EXAMPLE_RECURSIVE = NO
+IMAGE_PATH =
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+SOURCE_BROWSER = YES
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = YES
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION = YES
+REFERENCES_LINK_SOURCE = YES
+USE_HTAGS = NO
+VERBATIM_HEADERS = YES
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 5
+IGNORE_PREFIX =
+GENERATE_HTML = YES
+HTML_OUTPUT = html
+HTML_FILE_EXTENSION = .html
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+HTML_DYNAMIC_SECTIONS = YES
+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 = 4
+GENERATE_TREEVIEW = YES
+USE_INLINE_TREES = NO
+TREEVIEW_WIDTH = 250
+FORMULA_FONTSIZE = 12
+SEARCHENGINE = YES
+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 = NO
+USE_PDFLATEX = NO
+LATEX_BATCHMODE = NO
+LATEX_HIDE_INDICES = NO
+LATEX_SOURCE_CODE = NO
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+RTF_EXTENSIONS_FILE =
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+MAN_LINKS = NO
+GENERATE_XML = NO
+XML_OUTPUT = xml
+XML_SCHEMA =
+XML_DTD =
+XML_PROGRAMLISTING = YES
+GENERATE_AUTOGEN_DEF = NO
+GENERATE_PERLMOD = NO
+PERLMOD_LATEX = NO
+PERLMOD_PRETTY = YES
+PERLMOD_MAKEVAR_PREFIX =
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = NO
+EXPAND_ONLY_PREDEF = NO
+SEARCH_INCLUDES = YES
+INCLUDE_PATH =
+INCLUDE_FILE_PATTERNS =
+PREDEFINED = BUILDING_DOCS
+EXPAND_AS_DEFINED =
+SKIP_FUNCTION_MACROS = YES
+TAGFILES =
+GENERATE_TAGFILE =
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = YES
+PERL_PATH = /usr/bin/perl
+CLASS_DIAGRAMS = YES
+MSCGEN_PATH =
+HIDE_UNDOC_RELATIONS = YES
+HAVE_DOT = YES
+DOT_FONTNAME = FreeSans
+DOT_FONTSIZE = 10
+DOT_FONTPATH =
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+GROUP_GRAPHS = YES
+UML_LOOK = YES
+TEMPLATE_RELATIONS = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+CALL_GRAPH = YES
+CALLER_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+DIRECTORY_GRAPH = YES
+DOT_IMAGE_FORMAT = png
+DOT_PATH =
+DOTFILE_DIRS =
+DOT_GRAPH_MAX_NODES = 50
+MAX_DOT_GRAPH_DEPTH = 1000
+DOT_TRANSPARENT = NO
+DOT_MULTI_TARGETS = NO
+GENERATE_LEGEND = YES
+DOT_CLEANUP = YES