diff --git a/doxygen/Doxyfile b/doxygen/Doxyfile index 551d02111d..a88ec8070a 100644 --- a/doxygen/Doxyfile +++ b/doxygen/Doxyfile @@ -1,4 +1,4 @@ -# Doxyfile 1.8.9.1 +# Doxyfile 1.8.10 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. @@ -343,6 +343,13 @@ IDL_PROPERTY_SUPPORT = YES DISTRIBUTE_GROUP_DOC = NO +# If one adds a struct or class to a group and this option is enabled, then also +# any nested class or struct is added to the same group. By default this option +# is disabled and one has to add nested compounds explicitly via \ingroup. +# The default value is: NO. + +GROUP_NESTED_COMPOUNDS = NO + # Set the SUBGROUPING tag to YES to allow class member groups of the same type # (for instance a group of public functions) to be put as a subgroup of that # type (e.g. under the Public Functions section). Set it to NO to prevent @@ -758,7 +765,7 @@ WARN_LOGFILE = # spaces. # Note: If this tag is empty the current directory is searched. -INPUT = ../modules +INPUT = build # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses @@ -771,12 +778,17 @@ INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and -# *.h) to filter out the source-files in the directories. If left blank the -# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii, -# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, -# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, -# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, -# *.qsf, *.as and *.js. +# *.h) to filter out the source-files in the directories. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# read by doxygen. +# +# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, +# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, +# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, +# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, +# *.vhdl, *.ucf, *.qsf, *.as and *.js. FILE_PATTERNS = juce_*.h \ juce_*.dox @@ -794,53 +806,21 @@ RECURSIVE = YES # Note that relative paths are relative to the directory from which doxygen is # run. -EXCLUDE = ../modules/juce_graphics/image_formats \ - ../modules/juce_core/zip/zlib \ - ../modules/juce_audio_formats/codecs/flac \ - ../modules/juce_audio_formats/codecs/oggvorbis \ - ../modules/juce_audio_basics/juce_audio_basics.h \ - ../modules/juce_audio_basics/juce_audio_basics.cpp \ - ../modules/juce_audio_devices/juce_audio_devices.h \ - ../modules/juce_audio_devices/juce_audio_devices.cpp \ - ../modules/juce_audio_devices/native \ - ../modules/juce_audio_formats/juce_audio_formats.h \ - ../modules/juce_audio_formats/juce_audio_formats.cpp \ - ../modules/juce_audio_plugin_client/juce_audio_plugin_client.h \ - ../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses \ - ../modules/juce_audio_processors/juce_audio_processors.h \ - ../modules/juce_audio_processors/juce_audio_processors.cpp \ - ../modules/juce_audio_utils/juce_audio_utils.h \ - ../modules/juce_audio_utils/juce_audio_utils.cpp \ - ../modules/juce_browser_plugin_client/juce_browser_plugin.h \ - ../modules/juce_browser_plugin_client/juce_browser_plugin.cpp \ - ../modules/juce_core/juce_core.h \ - ../modules/juce_core/juce_core.cpp \ - ../modules/juce_core/native \ - ../modules/juce_cryptography/juce_cryptography.h \ - ../modules/juce_cryptography/juce_cryptography.cpp \ - ../modules/juce_data_structures/juce_data_structures.h \ - ../modules/juce_data_structures/juce_data_structures.cpp \ - ../modules/juce_events/juce_events.h \ - ../modules/juce_events/juce_events.cpp \ - ../modules/juce_events/native \ - ../modules/juce_graphics/juce_graphics.h \ - ../modules/juce_graphics/juce_graphics.cpp \ - ../modules/juce_graphics/native \ - ../modules/juce_gui_basics/juce_gui_basics.h \ - ../modules/juce_gui_basics/juce_gui_basics.cpp \ - ../modules/juce_gui_basics/native \ - ../modules/juce_gui_extra/juce_gui_extra.h \ - ../modules/juce_gui_extra/juce_gui_extra.cpp \ - ../modules/juce_gui_extra/native \ - ../modules/juce_opengl/juce_opengl.h \ - ../modules/juce_opengl/juce_opengl.cpp \ - ../modules/juce_opengl/native \ - ../modules/juce_tracktion_marketplace/juce_tracktion_marketplace.h \ - ../modules/juce_video/juce_video.h \ - ../modules/juce_video/juce_video.cpp \ - ../modules/juce_video/native \ - ../modules/juce_dsp/juce_dsp.h \ - ../modules/juce_dsp/juce_dsp.cpp +EXCLUDE = build/juce_graphics/image_formats \ + build/juce_core/zip/zlib \ + build/juce_audio_formats/codecs/flac \ + build/juce_audio_formats/codecs/oggvorbis \ + build/juce_audio_devices/native \ + build/juce_audio_plugin_client/AU/CoreAudioUtilityClasses \ + build/juce_browser_plugin_client/juce_browser_plugin.h \ + build/juce_core/native \ + build/juce_events/native \ + build/juce_graphics/native \ + build/juce_gui_basics/native \ + build/juce_gui_extra/native \ + build/juce_opengl/native \ + build/juce_video/native \ + build/juce_dsp/native # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded @@ -1129,7 +1109,7 @@ HTML_HEADER = # that doxygen normally uses. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_FOOTER = footer.html +HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style # sheet that is used by each HTML page. It can be used to fine-tune the look of @@ -1198,8 +1178,9 @@ HTML_COLORSTYLE_GAMMA = 80 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting this -# to NO can help when comparing the output of multiple runs. -# The default value is: YES. +# to YES can help to show when doxygen was last run and thus if the +# documentation is up to date. +# The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_TIMESTAMP = YES @@ -1673,9 +1654,12 @@ COMPACT_LATEX = NO PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names -# that should be included in the LaTeX output. To get the times font for -# instance you can specify -# EXTRA_PACKAGES=times +# that should be included in the LaTeX output. The package can be specified just +# by its name or with the correct syntax as to be used with the LaTeX +# \usepackage command. To get the times font for instance you can specify : +# EXTRA_PACKAGES=times or EXTRA_PACKAGES={times} +# To use the option intlimits with the amsmath package you can specify: +# EXTRA_PACKAGES=[intlimits]{amsmath} # If left blank no extra packages will be included. # This tag requires that the tag GENERATE_LATEX is set to YES. @@ -2057,9 +2041,12 @@ PREDEFINED = WIN32=1 \ JUCE_LINUX=1 \ DOXYGEN=1 \ JUCE_COMPILER_SUPPORTS_NOEXCEPT=1 \ + JUCE_COMPILER_SUPPORTS_NULLPTR=1 \ + JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS=1 \ JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS=1 \ JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES=1 \ JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL=1 \ + JUCE_COMPILER_SUPPORTS_LAMBDAS=1 \ JUCE_MODAL_LOOPS_PERMITTED=1 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this @@ -2175,7 +2162,7 @@ HIDE_UNDOC_RELATIONS = YES # set to NO # The default value is: NO. -HAVE_DOT = NO +HAVE_DOT = YES # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed # to run in parallel. When set to 0 doxygen will base this on the number of @@ -2287,7 +2274,8 @@ INCLUDED_BY_GRAPH = NO # # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable call graphs for selected -# functions only using the \callgraph command. +# functions only using the \callgraph command. Disabling a call graph can be +# accomplished by means of the command \hidecallgraph. # The default value is: NO. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2298,7 +2286,8 @@ CALL_GRAPH = NO # # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable caller graphs for selected -# functions only using the \callergraph command. +# functions only using the \callergraph command. Disabling a caller graph can be +# accomplished by means of the command \hidecallergraph. # The default value is: NO. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2321,15 +2310,19 @@ GRAPHICAL_HIERARCHY = NO DIRECTORY_GRAPH = NO # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. +# generated by dot. For an explanation of the image formats see the section +# output formats in the documentation of the dot tool (Graphviz (see: +# http://www.graphviz.org/)). # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order # to make the SVG files visible in IE 9+ (other browsers do not have this # requirement). -# Possible values are: png, jpg, gif and svg. +# Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo, +# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and +# png:gdiplus:gdiplus. # The default value is: png. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_IMAGE_FORMAT = png +DOT_IMAGE_FORMAT = svg # If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to # enable generation of interactive SVG images that allow zooming and panning. @@ -2347,7 +2340,7 @@ INTERACTIVE_SVG = NO # found. If left blank, it is assumed the dot tool can be found in the path. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_PATH = +DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the \dotfile @@ -2415,7 +2408,7 @@ MAX_DOT_GRAPH_DEPTH = 0 # The default value is: NO. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_TRANSPARENT = NO +DOT_TRANSPARENT = YES # Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This @@ -2432,7 +2425,7 @@ DOT_MULTI_TARGETS = NO # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -GENERATE_LEGEND = YES +GENERATE_LEGEND = NO # If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot # files that are used to generate the various graphs. diff --git a/doxygen/Makefile b/doxygen/Makefile new file mode 100644 index 0000000000..5b17c37169 --- /dev/null +++ b/doxygen/Makefile @@ -0,0 +1,16 @@ +SHELL := /bin/bash + +SOURCE_FILES := $(shell find ../modules -type f -name "juce_*.h" -or -name "juce_*.dox" | sed 's/ /\\ /g') + +.PHONEY: clean + +doc/index.html: build/juce_modules.dox Doxyfile + doxygen + +build/juce_modules.dox: process_source_files.py $(SOURCE_FILES) + rm -rf build + python $< ../modules build + +clean: + rm -rf build doc + diff --git a/doxygen/README.txt b/doxygen/README.txt index 3c39391cca..60a1511d35 100644 --- a/doxygen/README.txt +++ b/doxygen/README.txt @@ -6,5 +6,5 @@ How to: 1. install doxygen 2. cd into this directory on the command line -3. run doxygen (no additional arguments needed) -4. doxygen will create a new subfolder "doc". Open doc/index.html in your browser to access the generated HTML documentation. \ No newline at end of file +3. run `make` +4. doxygen will create a new subfolder "doc" - open doc/index.html in your browser to access the generated HTML documentation diff --git a/doxygen/footer.html b/doxygen/footer.html deleted file mode 100644 index e0635bceb9..0000000000 --- a/doxygen/footer.html +++ /dev/null @@ -1,14 +0,0 @@ -