lisz-works

技術と興味の集合体

Doxygen 現状適用している設定と意味合い

【スポンサーリンク】

Doxygen

既存の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の各設定値について、コチラのサイトにかなり書かれています。

cercopes-z.com

「これどういう意味だ?」

というものが現れたら、コチラをみるか、Google翻訳をすればなんとかなる可能性が高いです。

良さげなオプションを探すのにも便利です。

ググってれば出くわしているかもしれませんが。

参考

コチラを参考にしました。ありがとうございました!

tutorialmore.com

cercopes-z.com

あとがき

Doxygen 現状適用している設定と意味合いについてでした!

なんとか見れるものになるように設定するところまでできました……

よければ参考にしてみてください!

www.lisz-works.com

www.lisz-works.com