Doxygen latest release v1.8.11 - last update Mon Oct 25 2021

外部ドキュメントへのリンク

自分のプロジェクトが外部のライブラリやツールに依存している場合、doxygenを実行するたびにそのソースすべてを含めるのは、控えたい理由がいくつかあります。

ディスク容量:
ドキュメントによっては、doxygenの出力ディレクトリの外部、たとえばウェブ上のどこかから得られるでしょう。ローカルの出力ディレクトリにドキュメントを生成するのでなく、そのページへのリンクを張りたいでしょう。
コンパイル・スピード:
外部プロジェクトというのは、ご自身のプロジェクトとは違うタイミングで更新されるでしょう。変更がないのに外部プロジェクトのソースを解析させても意味がありません。
メモリ:
ソースツリーがかなり大きい場合、全ソースを解析させると、ご自身のシステムメモリがかなり消費されます。ソースをいくつかの"パッケージ"に別ければ、一つのパッケージのソースをdoxygenに解析させることができ、そのパッケージが依存するほかのパッケージは外部リンクすれば、メモリを節約できるでしょう。
入手度:
doxygenでドキュメントづけされたプロジェクトによっては、ソースが得られないものもあるでしょう。
著作権:

外部パッケージとそのドキュメントの著作権が他の方にある場合、ご自身のドキュメントにそのコピーを含めるより、参照するほうが良い、あるいは必要でしょう。著者が再配布を禁止している場合、必要です。著者が再配布の前提条件として許可条件に従うことを要求していても、ご自身はそのような条件に縛られたくない場合、そのドキュメントのコピーを参照するようにしたほうが、コピーをインクルードするより好ましいでしょう。

上記のうちのどれかが該当する場合、doxygenのタグファイル・メカニズムを使えます。 タグファイルは、基本的に外部ソースにあるエンティティーを簡潔に表現するものです。doxygenはタグファイルを生成することも読むこともできます。

プロジェクトのタグファイルを生成するには、タグファイルの名前を、設定ファイルの GENERATE_TAGFILE の後に置くだけです。

一つ以上の外部プロジェクトの出力をご自分のプロジェクトと結合するには、設定ファイルで、 TAGFILES の後にタグファイル名を指定します。

タグファイルは、doxygenを実行した位置からの相対的な、ドキュメントの場所を含むだけです。他のプロジェクトのタグファイルをインクルードするときは、外部ドキュメントがご自分のプロジェクトと比較してどこにあるかを指定しなければなりません。これを行うには、設定ファイルで、TAGFILES の後にタグファイルへの(相対的な)場所を指定します。相対パスを使うのであれば、プロジェクトのHTML出力が生成されるディレクトリとの相対でなければなりません。つまり、あるプロジェクトのHTML出力ディレクトリから、リンクされる他のプロジェクトのHTML出力への、相対パスです。

例:
ext1ext2 という2つの外部プロジェクトを使う proj プロジェクトがあるとします。ディレクトリ構造を以下に示します。
<root>
  +- proj
  |   +- html               projのHTML 出力ディレクトリ
  |   +- src                projのソース
  |   |- proj.cpp
  +- ext1
  |   +- html               ext1のHTML 出力ディレクトリ
  |   |- ext1.tag           ext1のタグファイル
  +- ext2
  |   +- html               ext2のHTML 出力ディレクトリ
  |   |- ext2.tag           ext2のタグファイル
  |- proj.cfg               projのdoxygen 設定ファイル
  |- ext1.cfg               ext1のdoxygen 設定ファイル
  |- ext2.cfg               ext2のdoxygen 設定ファイル
この場合、設定ファイルの関連する部分は以下のようになります。
proj.cfg:
OUTPUT_DIRECTORY  = proj
INPUT             = proj/src
TAGFILES          = ext1/ext1.tag=../../ext1/html \
                    ext2/ext2.tag=../../ext2/html 
ext1.cfg:
OUTPUT_DIRECTORY  = ext1
GENERATE_TAGFILE  = ext1/ext1.tag 
ext2.cfg:
OUTPUT_DIRECTORY  = ext2
GENERATE_TAGFILE  = ext2/ext2.tag
のセクションに行く / インデックス に戻る

This page was last modified on Mon Oct 25 2021.
© 1997-2021 Dimitri van Heesch, first release 27 oct 1997.
© 2001 OKA Toshiyuki (Japanese translation).
© 2006-2021 TSUJI Takahiro (Japanese translation).
© 2006-2014 TAKAGI Nobuhisa (Japanese translation).