Skip to content

docs(doxygen): Standardize Doxyfile settings across all ecosystem libraries #460

Description

@kcenon

What

Standardize Doxyfile configuration across all 8 ecosystem libraries for consistent API documentation output.

  • Current: Doxyfile settings vary across libraries in PROJECT_NAME format, PROJECT_NUMBER presence, CREATE_SUBDIRS, DOT_IMAGE_FORMAT, and PROJECT_BRIEF.
  • Expected: All libraries use a consistent Doxyfile configuration aligned with a canonical template.
  • Scope: Doxyfile in each of the 8 ecosystem repositories

Why

  • Visual inconsistency: GitHub Pages documentation looks different across libraries (e.g., some show version numbers, some don't; diagram formats differ).
  • PROJECT_NAME uses 3 different formats: "common_system" (snake_case), "Thread System" (Title Case), "pacs_system" (snake_case) — should be uniform.
  • PROJECT_NUMBER missing in 4 libraries: thread, container, monitoring, network don't set version — GitHub Pages has no version indicator.
  • DOT_IMAGE_FORMAT divergence: logger_system uses SVG while all others use PNG.

Where

Settings to Standardize

Setting Current Variance Target
PROJECT_NAME 3 formats: snake_case, Title Case, mixed Title Case: "[Name] System"
PROJECT_NUMBER 4 set, 4 missing All set, synced with vcpkg.json version
PROJECT_BRIEF container_system missing All set
CREATE_SUBDIRS network_system = NO, others YES All YES
DOT_IMAGE_FORMAT logger_system = svg, others png All png (or all svg)

Per-Repository Changes

Repository PROJECT_NAME PROJECT_NUMBER PROJECT_BRIEF CREATE_SUBDIRS DOT_IMAGE_FORMAT
common_system "common_system""Common System" 1.0.0 → sync vcpkg 0.2.0 OK OK OK
thread_system OK ❌ add 0.3.1 OK OK OK
logger_system OK 1.0.0 → sync vcpkg 0.1.3 OK OK svgpng
container_system OK ❌ add 0.1.0 ❌ add brief OK OK
monitoring_system OK ❌ add 0.1.0 OK OK OK
database_system OK 1.0.0 → sync vcpkg 0.1.0 OK OK OK
network_system OK ❌ → add 0.1.1 OK NOYES OK
pacs_system "pacs_system""PACS System" OK 1.0.0 → sync vcpkg 0.1.0 OK OK OK

How

Technical Approach

  1. Define canonical Doxyfile template values in this issue
  2. Apply changes to each repo's Doxyfile as separate commits or PRs
  3. Verify doxygen Doxyfile runs without new warnings after each change

Acceptance Criteria

  • All 8 libraries use Title Case PROJECT_NAME format
  • All 8 libraries set PROJECT_NUMBER matching their vcpkg.json version
  • All 8 libraries have PROJECT_BRIEF set
  • All 8 libraries use CREATE_SUBDIRS = YES
  • All 8 libraries use the same DOT_IMAGE_FORMAT (png)
  • doxygen Doxyfile generates without errors in all 8 libraries

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions