既存の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 現状適用している設定と意味合いについてでした!
なんとか見れるものになるように設定するところまでできました……
よければ参考にしてみてください!