Doxygen latest release v1.5.9 - last update 14 Feb 2011

設定

フォーマット

設定ファイルは、Makefile に似た構造を持つ、自由形式の ASCII テキストファイルで、デフォルトでは Doxyfile という名前になります。 ファイルは、doxygen によって解析されます。 書式設定のため、タブや改行コードを入れられます。 ステートメントは、大文字と小文字が区別されます。 ファイル内のどこにでもコメントを置くことができます (クォートの中を除く)。 コメントは、# 文字で始まり、行の終わりまで続きます。

ファイルは、本質的には、代入文のリストからなっています。 各ステートメントは、大文字で書かれた TAG_NAME の後に = 文字と1つ以上の値が続いたものです。 同じタグへの代入が 2回以上現れた場合は、最後の代入文だけが有効になります。 引数にリストを指定するオプションについては、= のかわりに += 演算子を使って、リストに新しい値を追加することができます。 値は、空白以外の文字の並びです。もし、値に1つ以上の空白を含めたい場合は、値をクォートで囲む必要があります ("...." のように)。 行の末尾にバックスラッシュ (\) を置くことで、複数の行をつなげることができます。環境変数は、 というパターンを使って展開することができます。

@INCLUDE タグを使うと、他の設定ファイルの一部をインクルードすることもできます。

@INCLUDE = config_file_name

インクルードファイルは、カレントディレクトリの中で検索されます。 カレントディクトリよりも先に検索してほしいディレクトリのリストを指定することもできます。 @INCLUDE タグを記述する前に、@INCLUDE_PATH タグで、それらのパスを設定してください。 たとえば:

@INCLUDE_PATH = my_config_dir

設定オプションは、いくつかのカテゴリに分けられています。 以下のものは、タグをアルファベット順に並べたリストです。その後に、 カテゴリ別のタグの解説があります。

プロジェクトに関するオプション

DOXYFILE_ENCODING

このタグでは、設定ファイルのすべての文字に使うエンコードを指定します。デフォルトはUTF-8で、このタグが最初に指定される前のすべてのテキストもUTF-8です。 Doxygenはlibiconv(libcにビルトインされているiconv)を使って変換しています。 エンコードの種類については、http://www.gnu.org/software/libiconvを参照してください。

PROJECT_NAME

PROJECT_NAME タグは、一単語 (または、ダブルクォートで囲まれた複数単語)からなり、ドキュメントを生成しようとしているプロジェクトの名前となります。 この名前は、生成されたほとんどのページのタイトルとして使われます。 また、少数ですが、別の場所でも使われます。

PROJECT_NUMBER

PROJECT_NUMBER タグは、プロジェクト番号やリビジョン番号を入れるのに使えます。生成されたドキュメントを保管したり、バージョン管理システムを使うような場合に役立つでしょう。

OUTPUT_DIRECTORY

OUTPUT_DIRECTORY タグは生成されたドキュメントが置かれるベースパス(相対パスあるいは絶対パス)を指定するために使います。 相対パスを指定した場合は、doxygen を実行した場所からの相対パスとなります。 空白のままにした場合は、カレントディレクトリが使用されます。

CREATE_SUBDIRS

CREATE_SUBDIRS タグが YES であれば、4096 サブディレクトリ (2段階で) を それぞれの出力形式のディレクトリ下に作成し、そこに生成したファイルを分配します。 このオプションは、doxygenに大量のソースファイルを与えたい場合に有用です。生成される全ファイルを同じディレクトリに排出するとファイルシステムのパフォーマンスに問題を起こす恐れがあります。

OUTPUT_LANGUAGE

OUTPUT_LANGUAGE タグは、doxygen によって生成されるあらゆるドキュメントの記述言語を指定します。Doxygen は、この情報を使って、すべての既定の文言を適切な言語で生成します。 デフォルトの言語は、English (英語) です。他にサポートされている言語は 次のとおり: Afrikaans (アフリカーンス語)、Arabic (アラビア語)、Brazilian (ブラジル・ポルトガル語)、Catalan (カタロニア語)、Chinese (中国語)、Croatian (クロアチア語)、Czech (チェコ語)、Danish (デンマーク語)、Dutch (オランダ語)、Finnish (フィン語)、French (フランス語)、German (ドイツ語)、Greek (ギリシャ語)、Hungarian (ハンガリー語)、Italian (イタリア語)、Japanese (日本語)、Korean (韓国語)、Lithuanian (リトアニア語)、Norwegian (ノルウェー語)、Persian (ペルシア語)、Polish (ポーランド語)、Portuguese (ポルトガル語)、Romanian (ルーマニア語)、Russian (ロシア語), Serbian (セルビア語)、Slovak (スロヴァキア語)、Slovene (スロヴェニア語)、Spanish (スペイン語)、Swedish (スウェーデン語)、Ukrainian (ウクライナ語)。

USE_WINDOWS_ENCODING

このタグを使って、生成される出力に使うエンコードを指定できます。 エンコードは、選んだ言語だけで決まる場合もあれば、出力が Windows ユーザ向けなのかそうでないのかによっても決まります。 その違いがある場合に USE_WINDOWS_ENCODING タグを YES にすれば、Windows エンコードが (Windows バイナリバージョンではデフォルトです)、NO であれば、Unix 形式のエンコードが行われます(Windows 以外のプラットフォームではデフォルトです)。

BRIEF_MEMBER_DESC

BRIEF_MEMBER_DESC タグが YES (デフォルト)であれば、ファイルやクラスのドキュメントの中で、リストしたメンバーの後に要約説明を置きます (JavaDoc 類似)。 NO に設定すると、この機能は無効になります。

REPEAT_BRIEF

REPEAT_BRIEF タグが YES (デフォルト) であれば、メンバーや関数についての要約説明を、詳細説明の前に置きます。

メモ:
HIDE_UNDOC_MEMBERSBRIEF_MEMBER_DESC の両方が NO に設定された場合は、要約説明は完全に抑制されます。

ABBREVIATE_BRIEF

このタグは、いろいろなリストでテキストを整形するために使う、ある程度識別力のある、要約説明略語化機能です。 指定したリストの各文字列を要約説明中の主要テキストとして認識すると、テキストから除去し、リスト全体を処理した後注釈付きテキストとして扱います。 主要テキストとして認識できないときは、要約説明は原文のまま扱います。 このタグが空白の場合は、次の値を使用します("\$name"は自動的に実体名に置き換わる)。 "The $name class" "The $name widget" "The $name file" "is" "provides" "specifies" "contains" "represents" "a" "an" "the"

ALWAYS_DETAILED_SEC

ALWAYS_DETAILED_SEC タグ と REPEAT_BRIEF タグの両方が YES であれば、要約説明しかなくても詳細説明セクションを生成します。

INLINE_INHERITED_MEMB

INLINE_INHERITED_MEMB タグが YES であれば、クラスのドキュメントにおいて、 そのクラスの継承メンバー全部を、正規のクラスメンバーのように見せます。 基底クラスのコンストラクタ、デストラクタ、代入演算子は表示されません。

FULL_PATH_NAMES

FULL_PATH_NAMES タグが YES であれば、ファイルリストやヘッダーファイルにおいて、ファイル名の前にフルパスを付加します。 NO に設定すると、ファイル名を一意にするに充分なだけの最も短いパスが付加されます。

STRIP_FROM_PATH

FULL_PATH_NAMES タグが YES であれば、STRIP_FROM_PATH タグを定義することによって、フルパスの一部を除去することができます。除去するのは、パスの先頭部分が定義された文字列の一つにマッチした場合だけです。 ファイルリストで相対パスを示すのに用いることもできます。 空白にすると、起動ディレクトリを除去します。

STRIP_FROM_INC_PATH

ドキュメントのリーダがクラスを利用する際にインクルードするヘッダファイルのパスから、一部を除去するために使います。 空白であれば、クラス定義を含むヘッダファイルの名前だけが使われます。 指定する場合は、通常 -I フラグでコンパイラに渡すインクルードパスを指定してください。

CASE_SENSE_NAMES

CASE_SENSE_NAMES タグが NO であれば、ファイル名を小文字だけで生成します。 YES であれば、大文字でも生成します。 名前が同じで大文字小文字の違いしかないクラスやファイルがあったり、ファイル名に大文字小文字の区別があるファイルシステムの場合に、有用です。 Windowsユーザは通常 NO に設定してください。

SHORT_NAMES

SHORT_NAMES タグが YES であれば、ファイル名をかなり短くします。そのかわり読みにくくなります。 これは、DOS、Mac、CD-ROM といった、長い名前をサポートしていないファイルシステムを使用する場合に有用です。

JAVADOC_AUTOBRIEF

JAVADOC_AUTOBRIEF タグが YES であれば、JavaDoc スタイルのコメントの先頭行 (最初の . まで) を要約説明と解釈します。 NO (デフォルト) に設定すると、 JavaDoc スタイルは、Qt スタイルのコメントと同じように扱います(要約説明として扱うには @brief コマンドを指定する必要があります)。

QT_AUTOBRIEF

QT_AUTOBRIEF タグを YES であれば、Qt スタイルコメントの先頭行 (最初の . まで) を要約説明と解釈します。 NO (デフォルト) に設定すると、Qt スタイルは、通常のQt スタイルコメントと同じように扱います(要約説明として扱うには \brief コマンドを指定する必要があります)。

BUILTIN_STL_SUPPORT

STLクラス (std::string, std::vector など) を使っていても、STLソース (そのタグファイル) を入力としてインクルードしたくない場合は、このタグを YES にしてください。 するとdoxygenは、STLクラスを引数に含む関数宣言と定義 (たとえば、func(std::string); と func(std::string) {}) をマッチングします。 また、STLクラスを含む継承・コラボレーション図をより完璧で正確にすることもできます。

CPP_CLI_SUPPORT

Microsoftの C++/CLI 言語を使う場合は、解析を有効にするためこのオプションをYESにしてください。

SIP_SUPPORT

sipソースのみでプロジェクトを構成している場合は、SIP_SUPPORTタグをYESにしてください。 すると、通常のC++同様に解析しますが、保護レベルを明示していない限り、すべてのクラスをprivateでなくpublic継承を使っているものと想定します。

IDL_PROPERTY_SUPPORT

MicrosoftのIDLには、属性のget/setメソッドを示すためのpropget/propput属性があります。このオプションを YES (デフォルト)にすると、説明の中のプロパティでget/setメソッドを入れ替えることができます。ただし、メソッドが単純なタイプをget/setしている場合だけです。そうでない場合や、メソッドを表示したい場合は、このオプションをNOにしてください。

DISTRIBUTE_GROUP_DOC

メンバーのグループ化がドキュメント内で使われており、DISTRIBUTE_GROUP_DOC タグが YES であれば、グループ内の最初のメンバーのドキュメント (もしあれば) を、そのグループの他のメンバーに対して再利用します。デフォルトでは、グループ内のすべてのメンバーは、明示的にドキュメント付られている必要があります。

MULTILINE_CPP_IS_BRIEF

MULTILINE_CPP_IS_BRIEF タグを YES にすると、複数行 C++ 特別コメントブロック (//! や /// コメントのブロック) を要約説明として扱います。これは以前のデフォルトの振る舞いでした。新しいデフォルトでは、複数行の C++ コメントブロックを詳細説明として扱います。以前の振る舞いが好みならこのタグを YES にしてください。ただし、rational rose コメントは認識しなくなります。

INHERIT_DOCS

INHERIT_DOCSタグを YES (デフォルト)にすると、ドキュメントがないメンバーの場合、再実装するメンバーからドキュメントを引き継いできます。

SEPARATE_MEMBER_PAGES

SEPARATE_MEMBER_PAGES タグを YES にすると、各メンバーにページを割り当てます。 NOにすると、メンバーのドキュメントは、それを内包するファイル・クラス・名前空間の一部になります。

TAB_SIZE

TAB_SIZE タグは、タブの幅 (スペースの数) を設定します。 doxygen は、この値を使用して、コード片においてタブをスペースに置換します。

ALIASES

このタグは、ドキュメント内でコマンドとして振る舞うような、いくつかの別名を記述するのに使用されます。別名は、次の形式をしています。

 名前=値

たとえば、次の行を追加すると、

 "sideeffect=\par Side Effects:\n" 

ドキュメント内で \sideeffect (or @sideeffect) というコマンドが使えるようになります。このコマンドは、結果として、"Side Effects:" という見出しを持つユーザ定義のパラグラフを生成します。 別名の値のところに \n を置くと改行が挿入されます。

OPTIMIZE_OUTPUT_FOR_C

プロジェクトが C のソースだけからなっている場合は、OPTIMIZE_OUTPUT_FOR_C タグを YES に設定してください。 doxygen は、より C に適合した出力を生成します。 たとえば、使用される名前のいくつかが異なっていたり、全メンバーのリストが省略される、など。

OPTIMIZE_OUTPUT_JAVA

JavaやPythonのソースだけでプロジェクトを構成している場合は、OPTIMIZE_OUTPUT_JAVA タグを YES にしてください。すると、その言語により適合した出力を生成します。たとえば、名前空間はパッケージとして提示され、修飾スコープは別の形で提示されるなど。

OPTIMIZE_FOR_FORTRAN

Fortranソースで構成されるプロジェクトの場合は、OPTIMIZE_FOR_FORTRAN タグを YES にしてください。Fortranに適合した出力をします。

OPTIMIZE_OUTPUT_VHDL

VHDLソースで構成されるプロジェクトの場合は、OPTIMIZE_OUTPUT_VHDL タグを YES にしてください。DoxygenはVHDLに適合した出力をします。

EXTENSION_MAPPING

Doxygenでは、解析するファイルの拡張子にしたがって、パーサーを選択します。 このタグを使って、与えられた拡張子についてどのパーサを使うかを指定できます。

Doxygenには組み込みの仕様がありますが、このタグを使えば上書きまたは拡張できます。 指定方式は、ext=languageで、ext にはファイル拡張子を、languageにはパーサを指定します。languageは次のうちどれかです。IDL, Java, Javascript, C#, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++。 たとえば .incファイル(デフォルトはPHP)をFortranファイルとして扱い、.fファイル(デフォルトはFortran)をCファイルとして扱うには、inc=Fortran f=C とします。

SUBGROUPING

SUBGROUPING タグを YES (デフォルト) にすると、同じタイプのクラスメンバーグループ (public 関数群など)が、そのタイプのサブグループ(Public関数セクションなど)として扱われます。サブグループ化を避けるには NO にしてください。 これは、クラスごとに\nosubgrouping コマンドを使ってもできます。

TYPEDEF_HIDES_STRUCT

TYPEDEF_HIDES_STRUCT を YES にすると、struct, union, enum の typedef は、typedef の名をつけて、struct, union, enum としてドキュメント出力されます。 typedef struct TypeS {} TypeTという構造の場合は、TypeTという名の struct として出力されます。 TYPEDEF_HIDES_STRUCT を NO にすると、typedef は、ファイル、名前空間、またはクラスのメンバーとして出力されます。struct は TypeS という名で出力されます。 C言語で、コーディング規約によって複合型はすべて typedef で定義され、typedef だけが参照され、タグ名は参照されない場合に、有用です。

SYMBOL_CACHE_SIZE

SYMBOL_CACHE_SIZEを指定したサイズは、内部キャッシュのサイズで、これによりどのシンボルを残し、どのシンボルをディスクにフラッシュするかが決まります。 キャッシュが満杯の場合は、使用回数の少ないシンボルからディスクに書き出されます。 中小規模のプロジェクト(入力ファイルが1000未満)の場合、デフォルトの値で十分でしょう。大規模プロジェクトの場合、キャッシュサイズが小さすぎると、ディスクとの間のシンボルスワッピングに追われてしまい、パフォーマンスがかなり悪くなる可能性があります。 システムの物理メモリサイズが充分であれば、キャッシュサイズを増やせば、メモリにシンボルをより残せるのでパフォーマンスが改善するでしょう。値は対数スケールで働くので、1増やせばメモリ使用がほぼ倍増します。キャッシュサイズは次の式で与えられます。 $2^{(16+\mbox{SYMBOL\_CACHE\_SIZE})}$ $2^{16} = 65536$ シンボルのキャッシュサイズにしたがって、有効な範囲は、0から9で、デフォルトは0です。

Build 関係のオプション

EXTRACT_ALL

EXTRACT_ALLタグが YES であれば、ドキュメントが得られなくても、ドキュメント内の要素はすべてドキュメントに出力するものとして扱います。ただし、EXTRACT_PRIVATE タグと EXTRACT_STATIC タグがYESでなければ、privateクラスメンバーとstaticファイルメンバーは隠します。

注意:
このタグによって、ドキュメントのないメンバーについての警告(WARNINGS タグが YESであれば普通有効)は無効になります。

EXTRACT_PRIVATE

EXTRACT_PRIVATE タグが YES であれば、クラスの private メンバーがすべてドキュメントに出力されます。

EXTRACT_STATIC

EXTRACT_STATIC タグが YES であれば、ファイルの static メンバーがすべてドキュメントに出力されます。

EXTRACT_LOCAL_CLASSES

EXTRACT_LOCAL_CLASSES タグが YES であれば、ソースファイルの中でローカルに定義されたクラス (及び構造体) はすべてドキュメントに出力されます。 NO であれば、ヘッダファイルに定義されたクラスだけが出力されます。 Javaのソースには無効です。

EXTRACT_ANON_NSPACES

このフラグをYESにすると、無名の名前空間が抽出されて、ドキュメントに'anonymous_namespace{file}'という名前空間として、表示されます。fileは、無名名前空間を含むファイルの基底名です。デフォルトでは表示されません。

EXTRACT_LOCAL_METHODS

このフラグは、Objective-C コードにだけ有効です。YES であれば、実装部分には定義されていてもインターフェースには定義されていないローカルメソッドは、ドキュメントにインクルードされます。 NO (デフォルト)であれば、インターフェースに定義されているメソッドだけがインクルードされます。

HIDE_UNDOC_MEMBERS

HIDE_UNDOC_MEMBERS タグが YES であれば、ドキュメント付けされているクラスやファイルの中のメンバーで、ドキュメント付けされていないものはすべて隠されます。 NO (デフォルト)であれば、これらメンバーは様々な概要にインクルードされますが、これらのドキュメントセクションは生成されません。 EXTRACT_ALL が有効であれば、このタグは無効です。

HIDE_UNDOC_CLASSES

HIDE_UNDOC_CLASSESS タグが YES であれば、ドキュメント付けされていないクラスはすべて隠されます。 NO (デフォルト)であれば、これらクラスは様々な概要にインクルードされます。 EXTRACT_ALL が有効であれば、このタグは無効です。

HIDE_FRIEND_COMPOUNDS

HIDE_FRIEND_COMPOUNDS タグが YES であれば、friend (クラス、構造体、共用体) 宣言はすべて隠されます。 NO (デフォルト)であれば、これら宣言はドキュメントに出力されます。

HIDE_IN_BODY_DOCS

HIDE_IN_BODY_DOCS タグが YES であれば、関数本体の内部で見つかったドキュメントブロックはすべて隠されます。NO (デフォルト) であれば、これらブロックは関数の詳細説明ブロックに追加します。

INTERNAL_DOCS

INTERNAL_DOCS タグは、 \internal コマンドに続くドキュメントをインクルードするか否かを決定します。NO (デフォルト)であれば、除外されます。出力するのであれば、YES にしてください。

HIDE_SCOPE_NAMES

HIDE_SCOPE_NAMES タグが NO (デフォルト) であれば、メンバーのクラスと名前空間の全スコープがドキュメントに出力されます。YES であれば、スコープは隠されます。

SHOW_INCLUDE_FILES

SHOW_INCLUDE_FILES タグが YES (デフォルト) であれば、includeされているファイルをドキュメントにリストアップします。

INLINE_INFO

INLINE_INFO タグが YES (デフォルト) であれば、インラインメンバーを示すタグ [inline] をドキュメントに挿入します。

SORT_MEMBER_DOCS

SORT_MEMBER_DOCS タグが YES (デフォルト) であれば、ファイルとクラスのメンバーの(詳細な)ドキュメントを、メンバー名のアルファベット順にソートして出力します。 NO であれば、メンバーは宣言順に出力されます。

SORT_BRIEF_DOCS

SORT_BRIEF_DOCS タグが YES であれば、ファイルや名前空間、クラスのメンバーの 要約説明を、メンバー名のアルファベット順にソートして出力します。 NO (デフォルト)であれば、メンバーの宣言順に出力します。

SORT_GROUP_NAMES

SORT_GROUP_NAMES タグがYESであれば、グループ名の階層をアルファベット順にソートします。NO(デフォルト) であれば、グループ名は定義した順に出力します。

SORT_BY_SCOPE_NAME

SORT_BY_SCOPE_NAMEタグがYESであれば、クラスリストを、名前空間を含めて、完全修飾名でソートします。 NO であれば、名前空間の部は含めず、クラス名だけでソートします。 注意: このオプションは、HIDE_SCOPE_NAMES がYESのとき特に有用です。 注意: このオプションは、クラスリストだけに有効で、アルファベット順リストには無効です。

GENERATE_DEPRECATEDLIST

GENERATE_DEPRECATEDLIST タグは、非推奨リストの生成(YES)、非生成(NO)を制御します。このリストは、\deprecated コマンドをドキュメントに指定します。

GENERATE_TODOLIST

GENERATE_TODOLIST タグは、todoリストの生成(YES)、非生成(NO)を制御します。 このリストは、\todo コマンドをドキュメントに指定します。

GENERATE_TESTLIST

GENERATE_TESTLIST タグは、testリストの生成(YES)、非生成(NO)を制御します。 このリストは、\test コマンドをドキュメントに指定します。

GENERATE_BUGLIST

GENERATE_BUGLIST タグは、bugリストの生成(YES)、非生成(NO)を制御します。 このリストは、\bug コマンドをドキュメントに指定します。

ENABLED_SECTIONS

ENABLED_SECTIONS タグは、条件付ドキュメントセクションを出力するときに使います。 条件付ドキュメントセクションは、\if <section-label> ... \endif ブロックと、 \cond <section-label> ... \endcond ブロックでマークします。

MAX_INITIALIZER_LINES

MAX_INITIALIZER_LINES タグは、変数やdefineの初期値がとれる最大の行数を決定します。 初期化子の行数が指定行数より多いと、出力されません。初期化子を完全に隠すには、 このタグを 0 にしてください。変数や define の個々の値の出力は、 \showinitializer コマンドや、 \hideinitializer コマンドをドキュメントに使うことで制御できます。

SHOW_USED_FILES

SHOW_USED_FILES タグを YES にすると、クラスや構造体のドキュメントの下に、 そのドキュメントを生成するのに使ったファイルのリストを出力します。 NO に設定すると出力しません。

SHOW_DIRECTORIES

プロジェクトのソースが複数ディレクトリに分散している場合、SHOW_DIRECTORIES タグを YES にすれば、 ディレクトリ階層がドキュメントに出力されます。

SHOW_FILES

SHOW_FILESタグをNO にすれば、Filesページの生成を無効にできます。 Quick Indexと、Folder Tree View (指定されていれば)に Files要素が出ません。 デフォルトは YESです。

SHOW_NAMESPACES

SHOW_NAMESPACESタグをNO にすれば、Namespacesページの生成を無効にできます。 Quick Indexと、Folder Tree View (指定されていれば)に Namespaces要素が出ません。 デフォルトは YESです。

警告メッセージや進捗メッセージに関連したオプション

QUIET

QUIET は、標準出力へのメッセージ生成をオンオフします。 可能な値は、YES または NO です。YES ならメッセージ出力はオフに なります。ブランクのままにした場合は、NO (つまり、オン) となります。

WARNINGS

WARNINGS タグは、標準エラー出力への警告メッセージ生成をオンオフします。 可能な値は、YES または NO です。YES なら警告出力はオンに なります。ブランクのままにした場合は、NO (つまり、オフ) となります。

[ヒント] ドキュメントを書き出している間は、警告をオンにしておくこと。

WARN_IF_UNDOCUMENTED

WARN_IF_UNDOCUMENTEDYES であれば、ドキュメント付けされていないメンバーに対して警告を生成します。 EXTRACT_ALLYES の場合は、このフラグは自動的に無効となります。

WARN_IF_DOC_ERROR

WARN_IF_DOC_ERROR が YES であれば、ドキュメント内での致命的なエラーについて警告を生成します。 たとえば、ドキュメント付けされた関数のパラメータにドキュメントがない、存在しないパラメータのドキュメントがある、あるいはマークアップコマンドを間違って使用されているなどです。

WARN_NO_PARAMDOC

WARN_NO_PARAMDOC オプションは、関数はドキュメント付けされているが、パラメータやリターン値のドキュメントがない関数についての警告を必要とするときYESにします。 NO (デフォルト)であれば、パラメータのドキュメントの間違いや不完全を警告するだけで、無しは警告しません。

WARN_FORMAT

WARN_FORMAT タグでは、警告メッセージのフォーマットを指定します。フォーマット文字列には、$file$line$text タグを指定します。fileは警告が生じたファイル、lineは行番号、textは警告メッセージで置換されます。

WARN_LOGFILE

WARN_LOGFILE タグでは、警告やエラーメッセージを書き込むファイルを指定します。 ブランクのままだと、メッセージは、stderr に出力されます。

Input 関連のオプション

INPUT

INPUT タグでは、ドキュメント付けしたソースファイルを含むファイルまたはディレクトリを指定します myfile.cpp のようなファイル名、あるいは /usr/src/myproject のような ディレクトリ名を指定することができます。 ファイルやディレクトリを複数指定する場合は、それらをスペースで区切ります。

メモ このタグが空の場合、カレントディレクトリが探索されます。

INPUT_ENCODING

このタグでは、ソースファイルの文字エンコードを指定します。Doxygen内部ではUTF-8をしており、このタグのデフォルトのエンコードも同じです。 Doxygenはlibiconv(libcにビルトインされているiconv)を使って変換しています。 エンコードの種類については、http://www.gnu.org/software/libiconvを参照してください。

FILE_PATTERNS

INPUT タグの値にディレクトリが含まれている場合、FILE_PATTERNS タグで、(*.cpp *.h のような) 複数のワイルドカードパターンを指定し、ディレクトリ内のソースファイルを選別することができます。 ブランクのままだと、以下のパターンがテストされます。 .c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp .h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm

FILE_VERSION_FILTER

FILE_VERSION_FILTER は、各ファイルの現バージョンを取得(大抵はバージョン制御システムから)しようとするプログラムやスクリプトを指定するのに使います。 doxygenは、command input-file コマンド を (popen() を介して)実行してプログラムを起動します。commandFILE_VERSION_FILTER タグの値で、input-file は doxygenが提供する入力ファイル名です。 プログラムが標準出力に書き込むものが、ファイルバージョンとして使われます。

unixでシェルスクリプトをフィルターとして使った例

  FILE_VERSION_FILTER = "/bin/sh versionfilter.sh"
 

CVS用シェルスクリプトの例

  #!/bin/sh
  cvs status $1 | sed -n 's/^[ \]*Working revision:[ \t]*\([0-9][0-9\.]*\).*/\1/p'
 

サブバージョン用シェルスクリプトの例

  #!/bin/sh
  svn stat -v $1 | sed -n 's/^[ A-Z?\*|!]\{1,15\}/r/;s/ \{1,15\}/\/r/;s/ .*//p'
 

ClearCase用フィルターの例

  FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
 

LAYOUT_FILE

LAYOUT_FILEタグでは、解析するレイアウトファイルを指定します。レイアウトファイルは、生成する出力ファイルのグローバルな構造を出力形式に依存しない形で制御します。デフォルトのレイアウトファイルを作るには -l オプションを付けて起動します。後にファイル名を指定できますが、デフォルトのレイアウトファイルはDoxygenLayout.xmlです。DoxygenLayout.xmlがあるディレクトリで起動すると、LAYOUT_FILE タグが空でも、自動的にDoxygenLayout.xmlを解析します。

RECURSIVE

RECURSIVE タグでは、サブディレクトリに対しても入力ファイルの検索を行うかを指定します。 可能な値は、YES または NO です。ブランクのままなら、NO (検索しない) となります。

EXCLUDE

EXCLUDE タグでは、INPUT ソースファイルから除外したいファイルやディレクトリを指定します。この方法を使うと、ルートがINPUTタグで指定したディレクトリのサブディレクトリを除外することが簡単にできます。

EXCLUDE_SYMLINKS

EXCLUDE_SYMLINKS タグでは、シンボリックリンク(unixファイルシステムの特徴)であるファイルやディレクトリを、入力から除外するか否かを選ぶのに使います。

EXCLUDE_PATTERNS

INPUT タグの値にディレクトリが含まれている場合、EXCLUDE_PATTERNS タグに複数のワイルドカードパターンを指定することにより、これらのディレクトリから特定のファイルを除外できます。

注: ワイルドカードは、絶対パスでのファイルについて検索しますので、すべてのtestディレクトリを除外するには */test/* と指定してください。

EXAMPLE_PATH

EXAMPLE_PATH タグを使用すると、インクルードされているサンプルコード片を含むファイルやディレクトリを、1つまたは複数、指定することができます(セクション \include の \include command を参照)。

EXAMPLE_RECURSIVE

EXAMPLE_RECURSIVE タグが YES であれば、\include コマンド、\dontincludeコマンドで使うべき入力ファイルがないか、サブディレクトリを検索します。 これは、RECURSIVE タグの値を無視します。このタグには、YES か NO が指定でき、 空白の場合は NO を指定したことになります。

EXAMPLE_PATTERNS

EXAMPLE_PATH タグの値にディレクトリが含まれている場合、EXAMPLE_PATTERNS タグを使用して (*.cpp *.h のような) ひとつ以上ののワイルドカードパターンを指定し、ディレクトリ内のソースファイルを選別することができます。 ブランクのままだと、すべてのファイルがインクルードされます。

IMAGE_PATH

IMAGE_PATH タグを使用すると、ドキュメントにインクルードする画像を格納する、ひとつ以上ののファイルやディレクトリを指定することができます (\image コマンドを参照)。

INPUT_FILTER

INPUT_FILTER タグでは、各入力ファイルをフィルタリングするのに使うプログラムを指定します。doxygen は、フィルタープログラムを起動するために、次のコマンドを (popen() を介して) 実行します。

<filter> <input-file>

ここで、<filter> は、INPUT_FILTER タグの値です。 また、<input-file> は、入力ファイルの名前です。 doxygen は、その後、フィルタープログラムが標準出力に書き出した出力を使用します。

FILTER_PATTERNS

FILTER_PATTERNS タグを使って、ファイルパターン毎にフィルターを指定できます。 doxygen は、ファイル名をパターンと比較し、マッチすればフィルターを充てます。 フィルターは、次のような形のリストです。 pattern=filter (like *.cpp=my_cpp_filter) フィルターがどう使われるかについて詳しくは、INPUT_FILTER を見てください。 FILTER_PATTERNS が空であれば、INPUT_FILTER が全ファイルに適用されます。

FILTER_SOURCE_FILES

FILTER_SOURCE_FILESYES であれば、INPUT_FILTER の指定値も使って入力ファイルをフィルターします。入力ファイルは、SOURCE_BROWSERがYESの場合に生成するブラウズするためのソースファイルの元になるものです。

ソースブラウジングに関するオプション

SOURCE_BROWSER

SOURCE_BROWSER タグが YES であれば、ソースファイルのリストが生成されます。 ドキュメント付けされた要素は、これらソースファイルでクロスリファレンスできます。 注意: 生成される出力にソースコードが出ないようにするには、VERBATIM_HEADERSをNOにしておいてください。

INLINE_SOURCES

INLINE_SOURCES タグが YES であれば、関数、クラス、列挙型 の本体を直接ドキュメントにインクルードします。

STRIP_CODE_COMMENTS

STRIP_CODE_COMMENTS タグが YES (デフォルト)であれば、生成されるソースコードの断片から、特別コメントブロックを隠します。C,C++の通常のコメントは、常に出力されます。

REFERENCED_BY_RELATION

REFERENCED_BY_RELATION タグが YES (デフォルト)であれば、ドキュメント付けされた関数それぞれについて、その関数を参照するドキュメント付けされた関数がリストされます。

REFERENCES_RELATION

REFERENCES_RELATION タグが YES (デフォルト)であれば、ドキュメント付けされた関数それぞれについて、その関数が呼び出したり使っている、ドキュメント付けされた要素がリストされます。

REFERENCES_LINK_SOURCE

REFERENCES_LINK_SOURCE タグが YES (デフォルト) かつ SOURCE_BROWSER が YES であれば、REFERENCES_RELATION と REFERENCED_BY_RELATION のリストの関数からソースコードにハイパーリンクされます。それ以外の場合は、ドキュメントにリンクされます。

VERBATIM_HEADERS
VERBATIM_HEADERS タグが YES (デフォルト)であれば、include文が指定された、各クラスのヘッダファイルの忠実なコピーを生成します。 これを止めるには NO を設定してください。 参照:
参照:
セクション cmdclass "\\class"
USE_HTAGS

USE_HTAGS タグが YES であれば、ソースコードへの参照は、doxygenに組み込みのソースブラウザでなく、htags(1) ツールが生成した HTML を指すようになります。 htags ツールは、GNU のglobalソースタグシステム (参照:http://www.gnu.org/software/global/global.html) の一部です。 このタグを使うには次の手順を踏んでください。

  1. 最新バージョン(4.8.6以上)のglobal をインストールする
  2. SOURCE_BROWSER と USE_HTAGS を YES にする
  3. INPUTタグにソースツリーのルートディレクトリを指定する
  4. doxygenを普通にrunする

doxygenは htags を起動します(次にgtagsが起動されます)ので、これらツールは コマンドライン (つまりサーチパス) から起動できなくてはいけません。

結果、ソースコードへのリンクは、doxygenが生成したソースブラウザでなく、htagsの出力を指しているはずです。

アルファベット順インデックスのオプション

ALPHABETICAL_INDEX

ALPHABETICAL_INDEX タグが YES であれば、すべての複合体 (compond) のアルファベット順インデックスが生成されます。 プロジェクトに、数多くのクラス、構造体、共用体、インタフェースが含まれている場合は、このオプションを有効にしておくとよいでしょう。

COLS_IN_ALPHA_INDEX

アルファベット順インデックスが有効 (ALPHABETICAL_INDEX を参照) であれば、COLS_IN_ALPHA_INDEX タグを使用して、このリストを分割するカラム数 (範囲は、[1..20]) を指定することができます。

IGNORE_PREFIX

プロジェクト内のすべてのクラス名が共通の接頭辞で始まっている場合、アルファベット順インデックスにおいて、すべてのクラスはひとつの見出しの下にまとめられてしまいます。 IGNORE_PREFIX タグを使用すると、インデックスの見出しを生成する際に無視すべき接頭辞 (または、接頭辞のリスト) を指定できます。

HTML に関連するオプション

GENERATE_HTML

GENERATE_HTML タグが YES (デフォルト) に設定されている場合、HTML 出力を生成します。

HTML_OUTPUT

HTML_OUTPUT タグを使用すると、HTML ドキュメントが出力される場所を指定することができます。 相対パスが指定された場合は、その前に OUTPUT_DIRECTORYの値が付加されます。 ブランクのままだと、デフォルトパスとして、`html' が使われます。

HTML_FILE_EXTENSION

HTML_FILE_EXTENSION タグを使えば、生成される HTML ページのファイル拡張子 (.htm, .php, .aspなど)を指定できます。 空白であれば、doxygenは .html 拡張子のファイルを生成します。

HTML_HEADER

HTML_HEADER タグを使用して、生成される各 HTML ページの先頭に付加する、ユーザ定義の HTML ヘッダーファイルを指定することができます。 HTML として正当なものにするには、ヘッダファイルには少なくとも <HTML> タグと <BODY> タグを含める必要がありますが、doxygen によって生成されるスタイルシートをインクルードするというのも良い考えです。 最小の例:

  <HTML>
    <HEAD>
      <TITLE>My title</TITLE>
      <LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
    </HEAD>
    <BODY BGCOLOR="#FFFFFF">

タグがブランクのままだと、doxygen は標準的なヘッダーを生成します。

以下のマーカーは、ヘッダー・フッター内部では特別な意味を持ちます。

$title
はページタイトルに置換されます。
$datetime
は現在日時に置換されます。
$date
は現在日付に置換されます。
$year
は現在年に置換されます。
$doxygenversion
はDoxygenのバージョンに置換されます。
$projectname
はプロジェクト名に置換されます(PROJECT_NAME参照)。
$projectnumber
はプロジェクトナンバーに置換されます(PROJECT_NUMBER参照)。
$relpath$
CREATE_SUBDIRS が有効であれば、$relpath$ コマンドを使って、HTML 出力ディレクトリのルートに対する相対パスを作るよう指定できます。 たとえば、$relpath$doxygen.css は、標準スタイルシートを指します。

doxygen が通常使用するデフォルトヘッダーの生成については、セクション Doxygen の使い方 を参照してください。

HTML_FOOTER

HTML_FOOTER タグを使用して、生成される各 HTML ページの末尾に付加する、ユーザ定義の HTML フッターファイルを指定できます。 HTML として正当なものにするには、そのフッターファイルは、少なくとも </BODY> タグと </HTML> タグを含んでいる必要があります。 最小の例:

    </BODY>
  </HTML>

タグがブランクのままだと、doxygen は標準的なフッターを生成します。

以下のコマンドは、フッター内部では特別な意味を持ちます:
$title, $datetime, $date, $doxygenversion, $projectname, $projectnumber

doxygen は、これらを、それぞれ、以下のもので置換します:
ページタイトル、現在の日時、現在の日付、doxygen のバージョン、 プロジェクト名 (PROJECT_NAME 参照)、 プロジェクト番号 (PROJECT_NUMBER 参照)。

doxygen が通常使用するデフォルトのフッターをどのように生成するか、 ということに関しては、セクション Doxygen の使い方 を参照してください。

HTML_STYLESHEET

HTML_STYLESHEET タグを使用して、各 HTML ページで用いる、ユーザ定義のカスケーディングスタイルシートを指定できます。それは、HTML 出力の見映えを微調整するのに使われます。 タグがブランクのままだと、doxygen は、デフォルトのスタイルシートを生成します。

doxygenが通常使用するスタイルシートの生成については、セクション Doxygen の使い方 を参照してください。

HTML_ALIGN_MEMBERS

HTML_ALIGN_MEMBERS タグが YESであれば、クラスやファイル、名前空間に属するメンバーは、HTML において、テーブルに整列します。 NO が設定されると、黒丸のリストが使われます。

メモ: このタグを NO に設定することは、将来廃れていくものと考えています。 というのも、作者は、整列形式しかサポートおよびテストをするつもりがないからです。

HTML_DYNAMIC_SECTIONS

HTML_DYNAMIC_SECTIONSが YESであれば、生成されるHTMLドキュメントに、ページのロード後で表示非表示を制御できるセクションが生成されます。これを使うには、JavaScript とDHTMLをサポートするブラウザ(Mozilla 1.0+, Firefox, Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safariなど)が必要です。

GENERATE_DOCSET

GENERATE_DOCSETが YESであれば、追加のインデックスファイルが生成され、Appleの Xcode 3統合開発環境の入力ファイルとして使えます。この環境は、OSX 10.5 (Leopard)で導入されました。 ドキュメントセットを作るため、HTML出力ディレクトリにMakefileが生成されます。makeを実行してドキュメントセットをつくり、make installを実行してそれを~/Library/Developer/Shared/Documentation/DocSetsにインストールします。Xcode1は起動時にそれを見つけます。詳しくは、この記事を参照してください。

DOCSET_FEEDNAME
GENERATE_DOCSETYESであれば、このタグでフィード名が決まります。ひとつのプロバイダ(会社や製品)からの複数のドキュメントセットをグループ化するための傘を提供します。
DOCSET_BUNDLE_ID

GENERATE_DOCSETYESであれば、このタグでドキュメントセットのバンドルを特定する文字列を指定できます。文字列はcom.mycompany.MyDocSetのような逆ドメインネーム形式です。doxygenはその名前に.docsetを付加します。

GENERATE_HTMLHELP

GENERATE_HTMLHELP タグが YES であれば、doxygen は、さらに、3つの HTML インデックスファイルを生成します。index.hhp、index.hhc、index.hhkです。 index.hhp は、Windows Microsoft's HTML Help Workshop によって読み込まれるプロジェクトファイルです。

HTML Help Workshop は、doxygen によって生成された全 HTML 出力を 一つの圧縮 HTML ファイル (.chm) に変換することができるコンパイラを持っています。 圧縮 HTML ファイルは、現在は Windows 98 のヘルプフォーマットとして使用されていますが、将来、すべての Windows プラットフォーム上で、旧来の Windows ヘルプフォーマットに取って代わるでしょう。 圧縮 HTML ファイルにはまた、インデックスと目次も含まれていて、ドキュメント内で単語を探すことができます。 HTML workshop には、圧縮 HTML ファイルのビューアも含まれています。

CHM_FILE

GENERATE_HTMLHELP タグが YES であれば、CHM_FILE タグを使って、生成される .chm ファイルのファイル名を指定できます。 .chmファイルが html 出力ディレクトリに書き込まれないようにするには、ファイルの前にパスを追加してください。

HHC_LOCATION

GENERATE_HTMLHELP タグが YES であれば、HHC_LOCATION タグを使って、HTML ヘルプコンパイラ (hhc.exe) の場所 (ファイル名も含めた絶対パス) を指定できます。 このタグが空白でなければ、doxygen は 生成された index.hhp上で、HTML ヘルプコンパイラを起動しようとします。

GENERATE_CHI

GENERATE_HTMLHELP タグが YES であれば、GENERATE_CHI フラグによって、.chi インデックスファイルを生成する(YES)か、マスターの .chm ファイルにインクルードさせる (NO) かを指定できます。

BINARY_TOC

GENERATE_HTMLHELP タグが YES であれば、BINARY_TOC フラグによって、バイナリの目次を生成する (YES)か、.chm ファイルの中に通常の目次を生成する (NO) かを指定できます。

TOC_EXPAND

TOC_EXPAND フラグを YES であれば、HTML ヘルプドキュメントの目次とツリービューに、グループメンバーに対する拡張項目を追加します。

GENERATE_QHP

GENERATE_QHPタグがYESで、QHP_NAMESPACEと QHP_VIRTUAL_FOLDERが設定されていれば、追加のインデックスファイルが生成され、Qtのqhelpgeneratorの入力ファイルに使えます。qhelpgeneratorは、Qtの圧縮ヘルプ(.qsh)を生成して、生成したHTMLドキュメントに出力します。

QHP_NAMESPACE

QHP_NAMESPACEタグでは、Qtヘルププロジェクト出力を生成するときに使う名前空間を指定します。詳しくは、Qt Help Project / Namespaceを参照してください。

QHP_VIRTUAL_FOLDER

QHP_VIRTUAL_FOLDERタグでは、Qtヘルププロジェクト出力を生成するときに使う仮想フォルダを指定します。詳しくは、Qt Help Project / Virtual Foldersを参照してください。

QHP_CUST_FILTER_NAME

QHP_CUST_FILTER_NAMEでは、追加するカスタムフィルタの名前を指定します。詳しくは、Qt Help Project / Custom Filtersを参照してください。

QHP_CUST_FILTER_ATTRS

QHP_CUST_FILTER_ATTRIBUTESタグでは、追加するカスタムフィルタの属性リストを指定します。詳しくは、Qt Help Project / Custom Filtersを参照してください。

QHP_SECT_FILTER_ATTRS

The QHP_SECT_FILTER_ATTRSタグでは、プロジェクトのフィルターセクションがマッチする属性リストを指定します。詳しくは、Qt Help Project / Filter Attributesを参照してください。

QHG_LOCATION

GENERATE_QHP タグがYESであれば、QHG_LOCATION タグを使って、Qtのqhelpgeneratorの位置を指定します。Doxygenは、生成された.ghpファイルに対し、指定されたqhelpgeneratorを実行しようとします。

DISABLE_INDEX

生成される HTML ページのレイアウトを完全にコントロールしたいのであれば、インデックスを抑制して、ユーザ自身の手で置換することが必要になるかもしれません。 DISABLE_INDEX タグを使用すると、各ページの上部にある簡約インデックスをオン/オフ できます。 値 NO (デフォルト) はインデックスを生成し、値 YES はインデックスを抑制します。

ENUM_VALUES_PER_LINE

このタグを使用すると、doxygen によって生成される HTML ドキュメントにおいて、一行にまとめられる enum の値の数 (範囲は [1..20]) を設定できます。

GENERATE_TREEVIEW

GENERATE_TREEVIEW タグを使えば、ツリー状のインデックス構造を生成し、階層情報が表示できるようにできます。 このタグがFRAMEであれば、ツリー上のインデックス構造(HTMLヘルプ用に生成されるような)を含むサイドパネルが生成されます。JavaScript,HTML,CSS,フレームをサポートするブラウザ(Mozilla 1.0+、Netscape 6.0+、Internet explorer 5.0+、Konquerorなど) が必要です。 WindowsユーザはHTMLヘルプの特色を使うと楽でしょう。 このタグがHIERARCHIESであれば、順列リストでなくツリービューを使って、グループやディレクトリやクラスのページを生成します。 このタグがALLであれば、FRAMEと HIERARCHIES両方をサポートします。 このタグがNONEであれば、どちらもサポートしません。 前バージョンとの互換性を保持するため、YESをFRAMEを、NOはNONEを意味します。

カスタムスタイルシート(HTML_STYLESHEETを参照)を使って、インデックスの見栄えを微調整できます。たとえば、デフォルトのスタイルシートに含まれるサンプルでは、ツリーのルートにプロジェクト名でなくイメージを置く方法を示しています。

TREEVIEW_WIDTH

ツリービューが有効 (GENERATE_TREEVIEW 参照)であれば、このタグを使用して、ツリーが表示されるフレーム幅の初期値を設定できます。

FORMULA_FONTSIZE

このタグでは、HTMLドキュメントにイメージとして含まれるLateX式のフォントサイズを変更できます。デフォルトは10です。 Doxygenの実行が終了してからフォントサイズを変更する場合は、HTML出力ディレクトリから、form_*.pngを手動で削除して、再生成されるようにしなければなりません。

LaTeX に関連するオプション

GENERATE_LATEX

GENERATE_LATEXYES (デフォルト) であれば、$\mbox{\LaTeX}$ 出力を生成します。

LATEX_OUTPUT

LATEX_OUTPUTでは、$\mbox{\LaTeX}$ ドキュメントが出力される場所を指定します。 相対パスが指定された場合は、その前に OUTPUT_DIRECTORYの値が付加されます。 ブランクなら、デフォルトパスとして、`latex' が使われます。

LATEX_CMD_NAME

LATEX_CMD_NAME タグでは、起動したいLaTeX コマンド名を指定できます。 空白ですと、`latex' がデフォルトのコマンド名になります。

MAKEINDEX_CMD_NAME

MAKEINDEX_CMD_NAME タグを使って、LaTeXのインデックスを生成するコマンド名を 指定できます。空白ですと、`makeindex' がデフォルトのコマンド名になります。

COMPACT_LATEX

COMPACT_LATEX タグが YES であれば、コンパクトな $\mbox{\LaTeX}$ ドキュメントを生成します。小さなプロジェクトにとって有用で、ツリーをいくらか省けるでしょう。

PAPER_TYPE

PAPER_TYPE タグを使用すると、プリンタ用紙の種類を設定できます。 可能な値は次のとおり:

  • a4 (210 x 297 mm)
  • a4wide (a4 に同じだが、a4wide パッケージを含む)
  • letter (8.5 x 11 インチ)
  • legal (8.5 x 14 インチ)
  • executive (7.25 x 10.5 インチ)

ブランクのままだと、a4wide が使われます。

EXTRA_PACKAGES

EXTRA_PACKAGES タグでは、$\mbox{\LaTeX}$ 出力にインクルードしたい $\mbox{\LaTeX}$ パッケージ名を、1つ以上指定できます。 たとえば、times フォントを得るには、次のように指定します:

EXTRA_PACKAGES = times

ブランクのままだと、追加パッケージは何も含まれません。

LATEX_HEADER

LATEX_HEADER では、生成される $\mbox{\LaTeX}$ ドキュメントにつけたい$\mbox{\LaTeX}$ ヘッダーを指定できます。 ヘッダーは、最初の章に至るまでの全てを含んでいる必要があります。

ブランクのままだと、doxygen は、デフォルトヘッダを生成します。 セクション Doxygen の使い方 で、デフォルトヘッダを別ファイルに書き込む方法を示しています。

メモ:
ユーザ定義のヘッダーは、その意味を理解してから使用してください。

以下のコマンドは、ヘッダー内部で特別な意味を持ちます:
$title, $datetime, $date, $doxygenversion, $projectname, $projectnumber

doxygen は、これらを、それぞれ、以下のもので置換します:
ページタイトル、現在の日時、現在の日付、doxygen のバージョン、 プロジェクト名 (PROJECT_NAME 参照)、 プロジェクト番号 (PROJECT_NUMBER 参照)。

PDF_HYPERLINKS

PDF_HYPERLINKS タグが YES であれば、生成される $\mbox{\LaTeX}$ には、 (ps2pdf または pdflatex を利用して) PDF に変換するための準備が施されます。 PDF ファイルには、ページリファレンスの代わりに (HTML 出力と同様) リンクが含まれます。 PDF ビューアでオンラインブラウジングをするのに適した形になります。

USE_PDFLATEX

LATEX_PDFLATEX タグが YES であれば、pdflatex を使用して $\mbox{\LaTeX}$ ファイルから直接 PDF ファイルを生成します。

LATEX_BATCHMODE

LATEX_BATCHMODEYES であれば、生成される $\mbox{\LaTeX}$ ファイルに、\batchmode コマンドを追加します。 これによって、$\mbox{\LaTeX}$でエラーが発生しても、ユーザの指示を仰ぐことなく動作します。HTML形式で式を生成する際にも使用されます。

LATEX_HIDE_INDICES

LATEX_HIDE_INDICES が YES であれば、File Index, Compound Indexなどのインデックスの章を出力に含めません。

RTF に関連するオプション

GENERATE_RTF

GENERATE_RTFYES であれば、RTF 出力を生成します。 RTF 出力は、Word 97 に対して最適化されており、他のリーダやエディタでは、あまりきれいに表示できないかもしれません。

RTF_OUTPUT

RTF_OUTPUT タグでは、RTF ドキュメントの出力先を指定できます。 相対パスが指定された場合は、その前に OUTPUT_DIRECTORY が付加されます。 ブランクのままだと、デフォルトパスとして、rtf が使われます。

COMPACT_RTF

COMPACT_RTF タグが YES であれば、よりコンパクトな RTF ドキュメントを生成します。小さなプロジェクトに有用で、ツリーの節約になるでしょう。

RTF_HYPERLINKS

RTF_HYPERLINKS タグが YES であれば、生成される RTF に、ハイパーリンクフィールドが含まれます。RTF ファイルには、ページリファレンスの代わりに (HTML 出力と同様) リンクが含まれます。 これは、Word などフィールドをサポートしているリーダによってオンラインブラウジングをするのに適しています。

メモ:
WordPad (write)などは、リンクをサポートしません。

RTF_STYLESHEET_FILE

指定したファイルから、スタイルシート定義をロードします。ファイル内の構文は、doxygen の設定ファイルに似た一連の代入文です。ユーザは、置換する値を提供するだけで、定義のないものについては、デフォルトの値が設定されます。

デフォルトのスタイルシートをどのように生成するか、セクション Doxygen の使い方 も参照してください。

RTF_EXTENSIONS_FILE

RTF ドキュメントの生成に際して使用されるオプション変数を定義したファイルを指定します。 ファイル内の構文は、doxygen の設定ファイルに似ています。 ひな型の拡張ファイルは、doxygen -e rtf extensionFileで生成できます。

Man page に関連するオプション

GENERATE_MAN

GENERATE_MAN タグが YES (デフォルト) であれば、クラスおよびファイルに対して man page を生成します。

MAN_OUTPUT

MAN_OUTPUT タグでは、man pageの出力先を指定できます。 相対パスが指定された場合は、その前に OUTPUT_DIRECTORY が付加されます。 ブランクのままだと、デフォルトパスとして、`man' が使われます。 MAN_OUTPUT で指定されたディレクトリの内部には、man3 というディレクトリが作成されます。

MAN_EXTENSION

MAN_EXTENSION は、生成される man page に付加される拡張子を決定します (デフォルトは、サブルーチンのセクションである .3)。

MAN_LINKS

MAN_LINKS タグが YESであれば、生成されるman pageでドキュメント付けられた各要素に対して、さらにmanファイルをひとつ生成します。 このファイルはman page 本体の単なるソースですが、無いとman コマンドは、正しいページを見つけることができません。デフォルトは NOです。

XML に関するオプション

GENERATE_XML

GENERATE_XML タグが YES であれば、コードの構造を収集した XML ファイルを生成します。ドキュメントも含みます。

XML_OUTPUT

XML_OUTPUT タグでは、XML ページの出力先を指定します。相対パスが指定されると、OUTPUT_DIRECTORY の値がその前に置かれます。 空白であれば、xml がデフォルトのパスとして使用されます。

XML_SCHEMA

XML_SCHEMA タグでは、XML スキーマを指定できます。 XML ファイルのシンタックスをチェックする XML パーサがこのスキーマを使います。

XML_DTD

XML_DTD タグでは、XML DTDを指定できます。 XML ファイルのシンタックスをチェックする XML パーサが使います。

XML_PROGRAMLISTING

XML_PROGRAMLISTING タグが YES であれば、doxygen はプログラムのリスティング (構文の強調表示、クロスリファレンス情報を含む) を XML 出力にダンプします。 これを指定すると、XML 出力がかなり大きくなることに注意してください。

AUTOGEN_DEF に関するオプション

GENERATE_AUTOGEN_DEF

GENERATE_AUTOGEN_DEF タグが YES であれば、AutoGen 定義(http://autogen.sf.net) ファイルを生成します。 AutoGen 定義ファイルは、ドキュメントを含め、コードの構造を収集します。 この機能はまだ試験運用段階であり、不完全です。

PERLMOD 関連のオプション

GENERATE_PERLMOD

GENERATE_PERLMOD タグが YES であれば、コードの構造を収集するPerl モジュールファイルを生成します。 この機能はまだ試験運用段階であり、不完全です。

PERLMOD_LATEX

PERLMOD_LATEX タグが YES であれば、Perl モジュール出力から PDF と DVI 出力を生成するのに必要な、Makefile 規則、Perl スクリプト、LaTeX コードを生成します。

PERLMOD_PRETTY

PERLMOD_PRETTY タグが YES であれば、Perl モジュール出力は綺麗にフォーマットされ、人の目で構文解析できるようになり、進捗を確認できます。 反対に NO であれば、Perl モジュール出力はかなり小さくなり、Perl はそれを構文解析します。

PERLMOD_MAKEVAR_PREFIX

生成された doxyrules.make ファイル内の make 変数の名前には、PERLMOD_MAKEVAR_PREFIX に指定された文字列が接頭辞として付きます。 これは、ひとつの Makefile にインクルードされた複数のdoxyrules.make ファイルが、お互いの変数を上書きしないようにでき、有用です。

プリプロセッサに関するオプション

ENABLE_PREPROCESSING

ENABLE_PREPROCESSING タグが YES (デフォルト)であれば、ソースやインクルードファイル内で見つかった、すべての C プリプロセッサ指令を評価します。

MACRO_EXPANSION

MACRO_EXPANSION タグが YES であれば、ソースコード内のすべてのマクロ名を展開します。NO (デフォルト) であれば、条件コンパイルのみを実行します。 マクロ展開は、EXPAND_ONLY_PREDEFYES にすれば制御できます。

EXPAND_ONLY_PREDEF

EXPAND_ONLY_PREDEF タグと MACRO_EXPANSION タグが両方 YES であれば、マクロ展開は、PREDEFINED タグと EXPAND_AS_DEFINED タグで指定されたものだけに制限されます。

SEARCH_INCLUDES

SEARCH_INCLUDES タグが YES(デフォルト) であれば、#include が見つかると、INCLUDE_PATH (下記参照) 内のインクルードファイルが検索されます。

INCLUDE_PATH

INCLUDE_PATH タグでは、入力ファイルではないが、プリプロセッサによって処理されるべきインクルードファイルを含むディレクトリをひとつ以上指定することができます。

PREDEFINED

PREDEFINED タグでは、プリプロセッサの実行が始まる前に1つ以上の定義済みマクロ名を指定できます (gcc の -D オプションに類似)。 タグの引数は、次のような形式のマクロリストです。 name または name=definition (空白なし)。 =definition が省略された場合は、=1 となります。 マクロ定義が #undef によって取り消されたり、反復して拡張されないようにするには、= 演算子でなく := 演算子を使ってください。

EXPAND_AS_DEFINED

MACRO_EXPANSION タグと EXPAND_ONLY_PREDEF タグが両方ともYES であれば、このタグを使用して、展開されるべきマクロ名のリストを指定できます。 (展開には) ソース内で見つかるマクロ定義が使用されます。 それとは異なるマクロ定義を使いたい場合は、PREDEFINED を使用してください。

SKIP_FUNCTION_MACROS

SKIP_FUNCTION_MACROS タグが YES (デフォルト) であれば、doxygen のプリプロセッサが、一行に書かれて全部大文字で、セミコロンで終わっていないという条件にあった、関数機能のあるマクロをすべて削除します。 このような関数マクロは boiler-plate code に使うので、削除しないと構文解析を混乱させます。

外部参照オプション

TAGFILES

TAGFILES タグでは、1つ以上のタグファイルを指定できます。

タグファイルの使い方について、詳しくは、セクション Doxytagの使い方 を参照してください。

外部ドキュメントの初期位置は、各タグファイルに対して、随意に付加することができます。 この位置のないタグファイルのフォーマットは次のとおりです。

TAGFILES = file1 file2 ... 

タグファイルに位置を付加するやり方は、次のとおりです。

TAGFILES = file1=loc1 "file2 = loc2" ... 

ここで、loc1loc2 は、相対パス、絶対パス、または URL です。 各タグに対して位置が存在している場合、リンクを正しいものにするためにinstalldox ツール (詳しくは Installdox の使い方 を参照)を実行する必要はありません。

メモ:
各タグファイルは、一意の名前 (名前にパスは含まれません)を持たなければなりません。 タグファイルが doxygen の起動されたディレクトリに無い場合、ここで、タグファイルへのパスの指定もしなければなりません。

GENERATE_TAGFILE

GENERATE_TAGFILE の後にファイル名が指定された場合、読み込む入力ファイルに基づいてタグファイルを生成します。 タグファイルの使い方について、詳しくは、セクション Doxytagの使い方 を参照してください。

ALLEXTERNALS

ALLEXTERNALS タグが YES であれば、すべての外部クラスがクラスインデックスにリストされます。NO の場合は、継承された外部クラスだけがリストされます。

EXTERNAL_GROUPS

EXTERNAL_GROUPS タグが YES であれば、外部のグループはすべてモジュールインデックスにリストされます。NO であれば、現行プロジェクトのグループだけがリストされます。

PERL_PATH

PERL_PATH は、perl インタプリタの絶対パス名 (すなわち、`which perl' の結果) です。

Dot のオプション

CLASS_DIAGRAMS

CLASS_DIAGRAMS タグが YES (デフォルト) であれば、クラス図を基底クラスやスーパークラスについて (HTML と $\mbox{\LaTeX}$形式で) 生成します。NO であれば、クラス図は生成されません。 このオプションより、HAVE_DOT オプションが優先します。このタグはおまけです。 dot はよりパワフルな図を提供してくれるので、インストールして使うことをお勧めします。

MSCGEN_PATH

\mscコマンドを使えば、メッセージシーケンス図をdoxygenのコメント内で定義できます。このコマンドがあると、doxygenは msgenツール)を実行して図を作成し、ドキュメントに挿入します。 MSCGEN_PATHタグでは、mscgenツールのディレクトリを指定できます。空の場合は、デフォルトのサーチパスにあるものと想定します。

HAVE_DOT

HAVE_DOT タグが YES であれば、コマンドパスから dot ツールを起動できると想定します。 このツールは、AT&T および Lucent Bell 研のグラフ可視化ツールキットである、Graphviz の一部です。このセクションで説明される他のオプションは、このオプションが NO (デフォルト) に設定された場合は無効となります。

DOT_FONTNAME
デフォルトでDoxygenは、FreeSans.ttfというフォントを出力ディレクトリに書き出し、Doxygenが生成するdotファイルのすべてにおいてそのフォントを参照します。このフォントにはunicodeキャラクタがすべて含まれているわけではないので、違った形のフォントが必要な場合にはそのフォント名をDOT_FONTNAMEで指定できます。 指定したフォントのディレクトリをdotに知らせなければなりません。それには標準のディレクトリに置くか、DOTFONTPATH環境変数で設定するか、DOT_FONTPATHを指定します。
DOT_FONTSIZE

DOT_FONTSIZEタグでは、dotグラフのフォントサイズを指定できます。デフォルトのサイズは10ポイントです。

DOT_FONTPATH
デフォルトではDoxygenが自ら出力するFreeSans.ttfフォントを探すように出力ディレクトリをdotに教えます。DOT_FONTNAMEを使って別のフォントを指定し、このタグでそのパスを指定すれば、dotはそれを使用します。
CLASS_GRAPH

CLASS_GRAPH タグ と HAVE_DOT タグが YES であれば、ドキュメント付けされた各クラスに対して、直接または間接的な継承関係を示すグラフを生成します。 このタグを YES にすると、CLASS_DIAGRAMS タグは、強制的に NO になります。

COLLABORATION_GRAPH

COLLABORATION_GRAPH タグと HAVE_DOT タグが YES であれば、ドキュメント付けされた各クラスに対して、ドキュメント付けされた他のクラスとの、直接または間接的な実装依存 (継承、所有、クラス参照変数) を示すグラフを生成します。

GROUP_GRAPHS

GROUP_GRAPHS と HAVE_DOT が YES であれば、グループ図を生成してグループの直接依存関係を表示します。

UML_LOOK

UML_LOOK タグが YES であれば、継承・コラボレーション図を、OMG の Unified Modeling Language とよく似たスタイルで生成します。

TEMPLATE_RELATIONS

TEMPLATE_RELATIONSHAVE_DOT タグが YES であれば、テンプレートとそのインスタンスの間の関係を表示します。

HIDE_UNDOC_RELATIONS

HIDE_UNDOC_RELATIONS タグが YES であれば、継承・コラボレーション図は、ターゲットがドキュメント付けされていない、またはクラスでなければ、継承と使用の関係を隠します。

INCLUDE_GRAPH

ENABLE_PREPROCESSING、SEARCH_INCLUDES、INCLUDE_GRAPH および HAVE_DOT YES であれば、ドキュメント付けされた各ファイルに対して、ドキュメント付けされた他のファイルとの、直接または間接的なインクルード依存を示すグラフを生成します。

INCLUDED_BY_GRAPH

ENABLE_PREPROCESSING、SEARCH_INCLUDES、INCLUDED_BY_GRAPH および HAVE_DOT YES であれば、ドキュメント付けされた各ヘッダーファイルに対して、このファイルを直接または間接的にインクルードしている、ドキュメント付けされたファイルを示すグラフを生成します。

CALL_GRAPH

CALL_GRAPHHAVE_DOT タグが YES であれば、グローバル関数やクラスメソッドのすべてについて、呼び出し依存関係図を生成します。 このオプションを YES にすることで、実行時間が大変長くなることに注意してください。ですから、大抵の場合は \callgraph コマンドだけで、図にする関数を選択することが望ましいです。

CALLER_GRAPH

CALLER_GRAPHHAVE_DOT タグが YES であれば、グローバル関数やクラスメソッドのすべてについて、呼び出し元依存関係図を生成します。 このオプションを YES にすることで、実行時間が大変長くなることに注意してください。 ですから、大抵の場合は \callergraph コマンドだけで、図にする関数を選択することが望ましいです。

GRAPHICAL_HIERARCHY

GRAPHICAL_HIERARCHY タグと HAVE_DOT タグが YES であれば、テキスト形式の代わりに、グラフ化された全クラス階層図を生成します。

DIRECTORY_GRAPH

DIRECTORY_GRAPHSHOW_DIRECTORIESHAVE_DOT オプションが YES であれば、ディレクトリがどのディレクトリに依存しているかを図で示してくれます。 依存関係は、ディレクトリ中のファイル間の #include 関係で決まります。

DOT_GRAPH_MAX_NODES

DOT_GRAPH_MAX_NODESタグでは、グラフに表示されるノードの最大数を設定できます。グラフ内のノード数がこの値を越えるとグラフは切り詰められ、ノードは赤いボックスとなります。グラフのルートノードの直接の子ノードがこのタグの値よりすでに多い場合、グラフは表示されません。グラフのサイズは MAX_DOT_GRAPH_DEPTHによってもさらに制限することができます。

MAX_DOT_GRAPH_DEPTH

MAX_DOT_GRAPH_DEPTHタグでは、dotが生成するグラフの最大深度を設定できます。深度3は、ルートからパスをたどり多くても3エッジを介して到達できるノードだけが表示されることを示します。ルーとノードから離れたノードは省略されます。このオプションを1か2に設定すれば、大規模なコードベースに必要な計算時間を大きく減らすことができます。グラフのサイズは DOT_GRAPH_MAX_NODESによってもさらに制限することができます。深度0は、深度の制限がない(デフォルト)ことを意味します。

DOT_IMAGE_FORMAT

DOT_IMAGE_FORMAT タグでは、dot が生成するイメージのフォーマットを設定するのに使います。 gif, jpg, png いずれかを指定できます。空白なら、png を指定したことになります。

DOT_PATH

このタグでは、dot ツールのパスを指定できます。 ブランクであれば、dot ツールはコマンドパスにあるものと想定します。

DOTFILE_DIRS

このタグでは、ドキュメントに含まれる dot ファイルを格納する、1つ以上のディレクトリを指定できます (\dotfile コマンドを参照)。

DOT_TRANSPARENT

DOT_TRANSPARENT が YES であれば、背景が透明のイメージが生成されます。 Windows上ではDotはこのタグがサポートされないので、デフォルトは無効です。 注意: プラットフォームによっては、このオプションを YES にすると図のエッジに アンチ・エイリアスのラベルが現れることがあります(これがあると読みにくくなります)

DOT_MULTI_TARGETS

DOT_MULTI_TARGETS タグが YES であれば、dot は一回の実行で複数の出力ファイルを生成できます(つまりコマンドラインで複数の -o , -T オプションを使って) 。 これによって dot はより早くなりますが、1.8.10以上のバージョンの dot でしかサポートしていないので、この機能はデフォルトで NO になっています。

GENERATE_LEGEND

GENERATE_LEGEND タグが YESであれば、dot の生成するグラフで使用されている様々なボックスや矢印の意味を説明する、凡例のページを生成します。

DOT_CLEANUP

DOT_CLEANUP タグが YES (デフォルト) であれば、様々な図を生成するのに使う、dot の中間ファイルを削除します。

検索エンジン・オプション

SEARCHENGINE

SEARCHENGINE タグは、HTML 出力に検索機能を含めるかどうかを指定します。 YES か NO を指定します。 YES であれば、doxygen は検索インデックスと、インデックスを検索するPHP スクリプトを作ります。 この機能を働かせるには、バージョン4.1.0以上のPHP を使っているウェブサーバを介してドキュメントを見なければなりません。 (インストール手順は http://www.php.net/manual/en/installation.php を参照)

以下の二つのファイルからなる、単純なプロジェクトがあると思ってください: ソースファイル example.cc とヘッダーファイル example.h。 そのとき、最小の設定ファイルは、次のような単純なものになります:

INPUT            = example.cc example.h

この例が Qt クラスを使用し、perl が /usr/bin にあると仮定すると、 より現実的な設定ファイルは、次のようななるでしょう:

PROJECT_NAME     = Example
INPUT            = example.cc example.h
WARNINGS         = YES
TAGFILES         = qt.tag
PERL_PATH        = /usr/bin/perl
SEARCHENGINE     = NO

QdbtTabularパッケージのドキュメントを生成するために、作者は、以下のような設定ファイルを使用しています。

PROJECT_NAME     = QdbtTabular
OUTPUT_DIRECTORY = html
WARNINGS         = YES
INPUT            = examples/examples.doc src
FILE_PATTERNS    = *.cc *.h
INCLUDE_PATH     = examples
TAGFILES         = qt.tag
PERL_PATH        = /usr/local/bin/perl
SEARCHENGINE     = YES

ソースから Qt-1.44 のドキュメントを再生成するには、以下のような設定ファイルを使用することができます。

PROJECT_NAME         = Qt
OUTPUT_DIRECTORY     = qt_docs
HIDE_UNDOC_MEMBERS   = YES
HIDE_UNDOC_CLASSES   = YES
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION      = YES
EXPAND_ONLY_PREDEF   = YES
SEARCH_INCLUDES      = YES
FULL_PATH_NAMES      = YES
STRIP_FROM_PATH      = $(QTDIR)/
PREDEFINED           = USE_TEMPLATECLASS Q_EXPORT= \
                       QArrayT:=QArray \
                       QListT:=QList \
                       QDictT:=QDict \
                       QQueueT:=QQueue \
                       QVectorT:=QVector \
                       QPtrDictT:=QPtrDict \
                       QIntDictT:=QIntDict \
                       QStackT:=QStack \
                       QDictIteratorT:=QDictIterator \
                       QListIteratorT:=QListIterator \
                       QCacheT:=QCache \
                       QCacheIteratorT:=QCacheIterator \
                       QIntCacheT:=QIntCache \
                       QIntCacheIteratorT:=QIntCacheIterator \
                       QIntDictIteratorT:=QIntDictIterator \
                       QPtrDictIteratorT:=QPtrDictIterator
INPUT                = $(QTDIR)/doc \
                       $(QTDIR)/src/widgets \
                       $(QTDIR)/src/kernel \
                       $(QTDIR)/src/dialogs \
                       $(QTDIR)/src/tools
FILE_PATTERNS        = *.cpp *.h q*.doc
INCLUDE_PATH         = $(QTDIR)/include 
RECURSIVE            = YES

Qt-2.1 のソース用には、以下のような設定をお勧めします:

PROJECT_NAME          = Qt
PROJECT_NUMBER        = 2.1
HIDE_UNDOC_MEMBERS    = YES
HIDE_UNDOC_CLASSES    = YES
SOURCE_BROWSER        = YES
INPUT                 = $(QTDIR)/src
FILE_PATTERNS         = *.cpp *.h q*.doc
RECURSIVE             = YES
EXCLUDE_PATTERNS      = *codec.cpp moc_* */compat/* */3rdparty/*
ALPHABETICAL_INDEX    = YES
COLS_IN_ALPHA_INDEX   = 3
IGNORE_PREFIX         = Q
ENABLE_PREPROCESSING  = YES
MACRO_EXPANSION       = YES
INCLUDE_PATH          = $(QTDIR)/include
PREDEFINED            = Q_PROPERTY(x)= \
                        Q_OVERRIDE(x)= \
                        Q_EXPORT= \
                        Q_ENUMS(x)= \
                        "QT_STATIC_CONST=static const " \
                        _WS_X11_ \
                        INCLUDE_MENUITEM_DEF
EXPAND_ONLY_PREDEF    = YES
EXPAND_AS_DEFINED     = Q_OBJECT_FAKE Q_OBJECT ACTIVATE_SIGNAL_WITH_PARAM \
                        Q_VARIANT_AS

通常なら C プリプロセッサで置換されるいくつかのマクロ名を、ここでは、doxygen のプリプロセッサを使用して置換しています。 ただし、完全なマクロ展開は行われていません。

のセクションに行く / インデックス に戻る

This page was last modified on 14 Feb 2011.
© 1997-2010 Dimitri van Heesch, first release 27 oct 1997.
© 2001 OKA Toshiyuki (Japanese translation).
© 2006-2011 TSUJI Takahiro (Japanese translation).
© 2006-2011 TAKAGI Nobuhisa (Japanese translation).