はじめてのDoxygen

Doxyfileのテンプレート作成

設定ファイルをゼロから記述しても良い。しかしながら、下記のコマンドを使い設定ファイルのテンプレートを自動生成し、必要な箇所だけを編集する方法が簡便である。

[configName] にて設定ファイルのファイル名を明示的に指定できる。明示的に指定しなければデフォルトの設定ファイル名の "Doxyfile" で作成される。

ただし、自動生成されたテンプレートのDoxyfileを使うと「ほぼ」中身のないドキュメントしか出力されない。

Doxyfileの編集

プロジェクト名変更

デフォルトの "My Project" のままで支障はないが気分の問題。

Doxygen対象ファイルの拡大

デフォルトの NO ではDoxygenが識別可能なタグ(ドキュメント)が埋め込まれたファイル(ソースコード)しか解析対象にならない。

プライベートメンバーの抽出

プライベートメンバーも抽出する。

スタティックメンバーの抽出

スタティック(内部スコープ)メンバーも抽出する。

入力

未指定のときはカレントディレクトリが対象になる。複数ディレクトリを列挙するときは空白文字で区切る。

再帰読み込み

サブディレクトリの再帰読み込みを有効にする。

除外

INPUTで指定したファイル、ディレクトリから除外するものを指定する。

入力文字エンコーディング

ソースファイルの文字エンコーディングを指定する。 [例] CP932 (code page 932。いわゆるShift JIS)

LATEX出力の抑止

LATEX出力が不要(HTML出力で十分)なケースでは NO にする。

UML形式出力

UMLに準拠した出力形式にする。

コールグラフ出力

  • CALL_GRAPH : 呼出先関数グラフ(一覧)を出力する。
  • CALLER_GRAPH : 呼出元関数グラフ(一覧)を出力する。

出力先

  • OUTPUT_DIRECTORY
    • HTML_OUTPUT
    • RTF_OUTPUT
    • LATEX_OUTPUT
    • XML_OUTPUT
    • MAN_OUTPUT

事前マクロ定義

プリプロセス実行前に(プロジェクト全体に適用される)マクロ定義を指定する。gccの -D XXX に相当する。複数のマクロ定義の区切りは空白文字とすること。カンマ , はNGである。引用符は不要である。

特殊コマンド (Special commands)

バックスラッシュ ( \ ) または アットマーク ( @ ) で始まるコマンド。

例. @author, @param, @return, …

Doxygenの多くの特殊コマンドがJavadocと互換性を持っているが、両者は必ずしも共通ではない。