Skip to content

From Doxygen documentation, create a Docset for use in Dash or Zeal.

License

Notifications You must be signed in to change notification settings

chinmaygarde/doxygen2docset

Repository files navigation

Dash or Zeal Docsets from Doxygen Documentation

Converts Doxygen Documentation to a Dash or Zeal Docset.

Building

Requirements: A C++ 14 compiler and CMake.

  • Make sure to pull submodules.
git submodule update --init --recursive
  • Configure the build system.
cmake -B build
  • Build the executable and tests.
cmake --build build
  • The executable is present in ./build/source/doxygen2docset.
  • The unit-test target is present in ./build/tests/doxygen2docset_unittests.

Preparing Project Doxyfile for Docsets

  • In the Doxyfile for your project, make sure the following options are set:
  • Invoke doxygen to generate HTML documentation. On a successful invocation of doxygen with the required flags, the html/ directory should be generated.
    • This tool depends on reading the following files generated by Doxygen. If these files are absent, the docset cannot be generated.
      • Tokens.xml
      • Info.plist

Generating Docset

Generate the Docset from the Doxygen generated docs using:

doxgen2docset --doxygen <path to doxygen source> --docset <path to docset dir> [--help]

Options

  --doxygen       Required: The path the HTML sources generated by Doxygen,
                  see the explanatory section below on how to configure Doxygen.

  --docset        Required: The path to the directory where this tool will
                  generate the docset. The name of the docset will be derived
                  from the Docset bundle identifier. For example, if the
                  Docset bundle identifer is, "com.exmple.docs", a docset
                  named "com.exmple.docs.docset" will be generated in this
                  directory.

                  To configure the docset bundle identifier, set the
                  DOCSET_BUNDLE_ID property in your Doxyfile before generating
                  documentation.

  --help          Print this documentation.