
既存のC++/CLIプロジェクトに対して、Doxygenをかけたときの設定値についてです!
設定値
全て載せると大きくなってしまうので、変更した箇所の抜粋です。
| 項目 | 編集前 | 編集後 | 備考 |
|---|---|---|---|
| PROJECT_NAME | My Project | 任意プロジェクト名 | タイトルに反映される |
| OUTPUT_LANGUAGE | English | Japanese | 表示言語お好みで |
| FULL_PATH_NAMES | YES | No | 相対パスに変更 |
| JAVADOC_AUTOBRIEF | NO | YES | /* ~ /を対象にする |
| TOC_INCLUDE_HEADINGS | 5 | 0 | 忘れた |
| CPP_CLI_SUPPORT | NO | YES | C++/CLI用設定 |
| EXTRACT_ALL | NO | YES | 出力設定(この手の全てONにした) |
| EXTRACT_PRIVATE | NO | YES | 〃 |
| EXTRACT_PRIV_VIRTUAL | NO | YES | 〃 |
| EXTRACT_PACKAGE | NO | YES | 〃 |
| EXTRACT_STATIC | NO | YES | 〃 |
| EXTRACT_LOCAL_METHODS | NO | YES | 〃 |
| EXTRACT_ANON_NSPACES | NO | YES | 〃 |
| WARN_LOGFILE | 任意パス\warn.txt | 実行時の警告を出力 | |
| INPUT | ソースフォルダ | ||
| INPUT_ENCODING | UTF-8 | CP932 | ファイルがSJISだったので |
| RECURSIVE | NO | YES | サブフォルダ検索ON |
| EXCLUDE_PATTERNS | */フォルダ名/* | 除外フォルダ設定 | |
| LATEX_CMD_NAME | latex | LえTeX出力 | |
| MACRO_EXPANSION | NO | YES | externによる重複除外用 |
| EXPAND_ONLY_PREDEF | NO | YES | externによる重複除外用 |
| PREDEFINED | extern=// | externによる重複除外用 | |
| EXPAND_AS_DEFINED | extern | externによる重複除外用 | |
| HAVE_DOT | NO | YES | 作図ON |
| CALL_GRAPH | NO | YES | 呼び出し関連図作成 |
| CALLER_GRAPH | NO | YES | 被呼び出し関連図作成 |
| DOT_GRAPH_MAX_NODES | 50 | 10000 | 最大ノード数 |
| MAX_DOT_GRAPH_DEPTH | 0 | 1000 | DOTの最大深度 |
プロジェクト名やフォルダ関連、言語やエンコードは、各環境に合わせて設定をしましょう。
externによる重複除外用
externを使って、外部関数を取り込んでいるファイルがありました。
この場合Doxygen上では、別ファイルにあるはずのexternされたものが、そのファイルのものかのように出力されてしまいます。
例えば
// file1.cpp void func() {...}
という関数を
// file2.cpp extern void func();
みたいにしている場合。
このようなケースを、この4つの設定でDoxygen実行時のマクロで無効化してくれます。
| 項目 | 編集前 | 編集後 |
|---|---|---|
| MACRO_EXPANSION | NO | YES |
| EXPAND_ONLY_PREDEF | NO | YES |
| PREDEFINED | extern=// | |
| EXPAND_AS_DEFINED | extern |
各種設定値について
Doxygenの各設定値について、コチラのサイトにかなり書かれています。
「これどういう意味だ?」
というものが現れたら、コチラをみるか、Google翻訳をすればなんとかなる可能性が高いです。
良さげなオプションを探すのにも便利です。
ググってれば出くわしているかもしれませんが。
参考
コチラを参考にしました。ありがとうございました!
あとがき
Doxygen 現状適用している設定と意味合いについてでした!
なんとか見れるものになるように設定するところまでできました……
よければ参考にしてみてください!