環境準備
基本brewで全部入ります。
# お約束
$ brew update
# doxygenとgraphvizをinstall
# 後述するGUI frontendを入れればここでdoxygen入れる必要はないのでコマンドラインでも叩きたい人は入れる
$ brew install doxygen graphviz
Doxygen GUI frontend
Doxygenを使って各種ドキュメントを生成する場合に設定できる値が非常に多いので、GUI使った方が楽です。
Doxygenの設定ファイルを手書きしたくない場合、GUI frontendを使いましょう。(僕はそうしました)
DLページより、 A binary distribution for Mac OS X 10.5 and later の項目を探してdmgファイルをダウンロードする。(記事執筆時点では、Doxygen-1.8.9.1.dmgでした)
brew caskからも入れられそうでしたが、cask使わないようにしたので僕は手で入れてしまいました。
Doxygenの設定ファイルを作る
Doxyfileの生成
コマンドラインで行う場合
# -g オプションを付けてコマンドを叩くとカレントディレクトリにDoxyfileという設定ファイルが出力される
$ doxygen -g [設定ファイル名]
# -s オプションを付けると設定ファイル内のコメントが省略される
$ doxygen -s -g [設定ファイル名]
GUI frontendを使う場合
上でダウンロードしてきたGUI frontendを起動してとりあえず何も入力せずに File > Save (⌘+s) を行うと保存画面がでるのでお好きな場所にお好きな名前で保存する。
必要な設定を書く
あとは設定ファイル内のコメントや設定できる値一覧を見つつって感じなんですがめっちゃ多いので大体必要そうなところだけピックアップします。
また全部GUI frontendでやったので、コマンドライン勢の人は頑張ってください。
- Step 1 に出力場所を指定
- Step 2 > Wizard > Project > Project Name にプロジェクト名を指定
- Step 2 > Wizard > Project > Source code directory にソースコードの場所を指定
- 今回はUnityなので
{対象のUnityプロジェクトディレクトリ}/Assets
を指定した - スコープを絞りたい場合は、Assets以下で生成したいディレクトリを指定するといいと思います
- 今回はUnityなので
- Step 2 > Wizard > Project > Scan recursively にチェック
- Step 2 > Wizard > Mode > Select programming language to optimize the results for に
Optimize for Java or C# output
を指定 - Step 2 > Wizard > Output > Select the output format(s) to generate からHTMLを選択
- Step 2 > Wizard > Diagrams > Diagrams to generate に
Use dot tool from the GraphViz package
を指定- その下の Dot graphs to generate は全てチェック
- Step 2 > Expert > Dot 内のプロパティについて以下を指定
- CLASS_DIAGRAMS にチェック
- HAVE_DOT にチェック
- DOT_PATH に、dotコマンドの場所を指定(graphvizをbrew installした時点で入ってるのでコマンドラインで
which dot
して出た場所を指定するとよい)
ここまで設定したらもう一度保存します。
設定は色々あるので、ドキュメントなどを読みつつ調整するのがオススメ。
ドキュメントを生成する
コマンドラインから実行
上記で保存したDoxyfileがあるディレクトリでコマンドを実行します。(他ディレクトリからDoxyfile指定して叩くと動かなかった…)
# 設定ファイルの名前を変えている場合はファイル名を指定すること
$ doxygen [設定ファイル名]
GUI frontendから実行
設定ファイルが読み込まれている状態で Step 2 > Run ウィンドウから Run doxygen を実行すると、ドキュメントが生成されます。
トラブルシューティング
基本は生成課程のログを見ればエラー内容書いてあるのでシューティングしていく。
なんでか画像が出ない
僕の環境ではこれが一番ハマったんですがdot
コマンドが上手く叩けてないのが原因でした。
- Step 2 > Expert > Dot > DOT_PATH に dot コマンドへのパスが指定されていること
- graphvizが正しくinstallできていること(brewでlink errorが起きていたりしたので)
の2点を確認のこと。