Help us understand the problem. What is going on with this article?

Unity C# プロジェクトのクラス図や呼び出し関係図を Doxygen で生成する on Mac

More than 3 years have passed since last update.

環境準備

基本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以下で生成したいディレクトリを指定するといいと思います
  • 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点を確認のこと。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした