Skip to content

DoxySphinx ignores HTML_OUTPUT and always expects Doxygen output in html #187

Description

@selineleupi

In doxysphinx/doxygen.py the output directory is currently resolved as:

out = Path(doxygen_cwd) / str(config["OUTPUT_DIRECTORY"]) / "html" # config["HTML_OUTPUT"]
This appears to ignore the Doxygen HTML_OUTPUT configuration value and instead always assumes that the generated HTML output directory is named html. As a result, Doxyfile configurations such as:

OUTPUT_DIRECTORY = output
HTML_OUTPUT = myProjectOutput

are resolved by doxysphinx as output/html instead of output/myProjectOutput.

Why is this problematic?
A common use case is generating documentation for multiple projects or languages, for example:

    output
         ├── cpp_html/
         └── java_html/

with separate Doxyfiles and configurations.
This allows documentation to remain separated and avoids overwriting generated content.
Because DoxySphinx currently appears to require html, it becomes difficult or impossible to use multiple Doxygen output directories within the same Sphinx documentation tree.

Suggested fix:
Respect the configured HTML_OUTPUT value:

out = (
    Path(doxygen_cwd)
    / str(config["OUTPUT_DIRECTORY"])
    / str(config["HTML_OUTPUT"])
)

and fall back to "html" only when HTML_OUTPUT is not explicitly configured, matching Doxygen's default behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions