Skip to content

Add opt-in standalone Doxygen XML documentation target - #97

Open
jdumas wants to merge 1 commit into
mainfrom
jdumas/idocs-doc-xml
Open

jdumas wants to merge 1 commit into
mainfrom
jdumas/idocs-doc-xml

Conversation

@jdumas

@jdumas jdumas commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Add LAGRANGE_DOCS_XML (OFF by default) to the standalone docs/cpp project. Enabling it exposes a separate doc-xml target for IDocs and other machine-readable documentation consumers.

The XML wrapper includes the existing configured Doxyfile, preserving module Markdown, extraction/preprocessor settings, exclusions and the warning policy. It generates XML only, without building HTML or downloading the HTML theme. Program listings default to disabled. The existing doc target and default configuration are unchanged.

cmake -S docs/cpp -B .cache/docs -DLAGRANGE_DOCS_XML=ON
cmake --build .cache/docs --target doc-xml
# .cache/docs/xml/index.xml and compound XML

DOXYGEN_OUTPUT_XML and DOXYGEN_XML_PROGRAMLISTING allow output/listing overrides when the option is enabled.

Validation

CMake 4.4.5 / Doxygen 1.13.2 synthetic module/header smoke test verifies: default OFF is identical to the existing configuration and has no XML target; ON includes authored module Markdown and macro-decorated headers; no HTML/theme checkout or default program listings; original HTML target/dependency preserved; unresolved references still fail under the inherited warning policy; custom XML output/listings work.

Full-library warning cleanliness and cross-platform coverage are not claimed. No changes to the base Doxyfile or normal documentation invocation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant