DOXYFILE_ENCODING
このタグでは、設定ファイルのすべての文字に使うエンコードを指定します。デフォルトはUTF-8で、このタグが最初に指定される前のすべてのテキストもUTF-8です。 Doxygenはlibiconv(libcにビルトインされているiconv)を使って変換しています。 可能なエンコードの種類については、http://www.gnu.org/software/libiconv を参照してください。
PROJECT_NAME
PROJECT_NAME
タグは、一単語 (または、ダブルクォートで囲まれた複数単語)からなり、ドキュメントを生成しようとしているプロジェクトの名前となります。 この名前は、生成されたほとんどのページのタイトルとして使われます。 また、少数ですが、別の場所でも使われます。
PROJECT_NUMBER
PROJECT_NUMBER
タグは、プロジェクト番号やリビジョン番号を入れるのに使えます。生成されたドキュメントを保管したり、バージョン管理システムを使うような場合に役立つでしょう。
PROJECT_BRIEF
PROJECT_BRIEF
では、プロジェクトについての要約説明を指定できます。この説明は、各ページのトップに表示されるので、見る人がプロジェクトの目的をすばやく確認できます。説明は短くしてください。
PROJECT_LOGO
PROJECT_LOGO
タグでは、ドキュメントに含めたいロゴやアイコンを指定できます。ロゴの高さは、55ピクセル未満、幅は200ピクセル未満にしてください。doxygenはロゴを出力ディレクトリにコピーします。
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-Cyrillic(セルビア語-キリル文字)、Serbian (セルビア語)、Slovak (スロヴァキア語)、Slovene (スロヴェニア語)、Spanish (スペイン語)、Swedish (スウェーデン語)、Ukrainian (ウクライナ語)。
BRIEF_MEMBER_DESC
BRIEF_MEMBER_DESC
タグが YES
(デフォルト)であれば、ファイルやクラスのドキュメントの中で、リストしたメンバーの後に要約説明を置きます (JavaDoc 類似)。 NO
に設定すると、この機能は無効になります。
REPEAT_BRIEF
REPEAT_BRIEF
タグが YES (デフォルト) であれば、メンバーや関数についての要約説明を、詳細説明の前に置きます。
- メモ:
HIDE_UNDOC_MEMBERS
と BRIEF_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 フラグでコンパイラに渡すインクルードパスを指定してください。
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 コマンドを指定する必要があります)。
MARKDOWN_SUPPORT
MARKDOWN_SUPPORT
が有効(デフォルト)であれば、doxygen はすべてのコメントをMarkdownフォーマットに従って前処理します。これは、ドキュメントを読みやすくするためです。詳細は、http://daringfireball.net/projects/markdown/ を参照してください。markdown処理の出力は、doxygen が更に処理を進めますので、doxygen, HTML, XML コマンドを Markdown フォーマットとミックスすることもできます。無効にするのは、下位互換性問題が生じたときだけにしてください。
AUTOLINK_SUPPORT
有効にすると、doxygen は、ドキュメント付けされたクラスやネームスペースに対応する語句を、その対応するドキュメントにリンクさせようとします。このリンクを避けるには、個別には語句の前に % を置くか、全体としてはAUTOLINK_SUPPORTをNOとします。
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 にしてください。ただし、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はdoxygenがサポートするパーサーのうちどれかです。IDL, Java, Javascript, C#, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL。
たとえば .incファイル(デフォルトはPHP)をFortranファイルとして扱い、.fファイル(デフォルトはFortran)をCファイルとして扱うには、inc=Fortran f=C とします。
拡張子がないファイルの場合、no_extension
で代替できます。
SUBGROUPING
SUBGROUPING タグを YES (デフォルト) にすると、同じタイプのクラスメンバーグループ (public 関数群など)が、そのタイプのサブグループ(Public関数セクションなど)として扱われます。サブグループ化を避けるには NO にしてください。これは、クラスごとに \nosubgrouping コマンドを使ってもできます。
INLINE_GROUPED_CLASSES
INLINE_GROUPED_CLASSESをYESにすると、クラス、構造体、共用体は、それらを
(たとえば
@ingroup を使って)含むグループ内に表示されます。別のページ(HTML,Manページ)や、別のセクション(LaTeX,RTF)にはなりません。 SEPARATE_MEMBER_PAGES との組み合わせでは、この機能は働きません。
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増やせばメモリ使用がほぼ倍増します。キャッシュサイズは次の式で与えられます。 シンボルのキャッシュサイズにしたがって、有効な範囲は、0から9で、デフォルトは0です。
LOOKUP_CACHE_SIZE
SYMBOL_CACHE_SIZE
同様、シンボルの検索用キャッシュのサイズを指定します。このキャッシュを使って、名前とスコープでシンボルを解決します。この処理は負荷が高く、同じシンボルがコードに複数出現することが多いので、doxygen は解決済みのシンボルをキャッシュしています。キャッシュが小さすぎるとdoxygen は遅くなります。大きすぎると、メモリを食い尽くします。サイズは、 で与えます。有効な範囲は、0..9で、デフォルトは0です。 シンボルのキャッシュサイズに従います。
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
にしてください。
CASE_SENSE_NAMES
CASE_SENSE_NAMES
タグが NO であれば、ファイル名を小文字だけで生成します。 YES であれば、大文字でも生成します。 名前が同じで大文字小文字の違いしかないクラスやファイルがあったり、ファイル名に大文字小文字の区別があるファイルシステムの場合に、有用です。 Windowsユーザは通常 NO に設定してください。
HIDE_SCOPE_NAMES
HIDE_SCOPE_NAMES
タグが NO (デフォルト) であれば、メンバーのクラスと名前空間の全スコープがドキュメントに出力されます。YES であれば、スコープは隠されます。
SHOW_INCLUDE_FILES
SHOW_INCLUDE_FILES タグが YES
(デフォルト) であれば、ファイルがincludeしているファイルのリストを、そのファイルのドキュメントに出力します。
FORCE_LOCAL_INCLUDES
FORCE_LOCAL_INCLUDES
タグが 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のときはあまり役に立ちません。
-
このオプションは、クラスリストだけに有効で、アルファベット順リストには無効です。
SORT_MEMBERS_CTORS_1ST
SORT_MEMBERS_CTORS_1ST
タグがYESであれば、クラスメンバーの(要約と詳細)ドキュメントを、コンストラクタとデストラクタが最初になるように、ソートします。NO (デフォルト)であれば、コンストラクタの並びは、SORT_MEMBER_DOCS
と SORT_BRIEF_DOCSで定義された順序に依存します。
メモ: SORT_BRIEF_DOCS
が NO
であれば、要約メンバードキュメントのソートに関して、このオプションは無視されます。 メモ: SORT_MEMBER_DOCS
が NO
であれば、詳細メンバードキュメントのソートに関して、このオプションは無視されます。
GENERATE_DEPRECATEDLIST
GENERATE_DEPRECATEDLIST タグは、非推奨リストの生成(YES)、非生成(NO)を制御します。このリストは、\deprecated コマンドをドキュメントに指定することで、作成します。
STRICT_PROTO_MATCHING
このオプションが有効で、関数の全パラメータの解決をうまくできない場合、doxygenはプロトタイプと実装とのマッチングをしません。候補がひとつしかない場合でも、単純な文字列比較で候補が決まる場合でも、マッチングをしません。 このオプションを無効にすれば、そのような場合でもマッチングを受け入れます。
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タグを
NO
にしてください。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です。
FILE_VERSION_FILTER
FILE_VERSION_FILTER
は、各ファイルの現バージョンを取得(大抵はバージョン制御システムから)しようとするプログラムやスクリプトを指定するのに使います。 doxygenは、 command input-file
コマンド を (popen() を介して)実行してプログラムを起動します。command
は FILE_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タグでは、doxygenが解析するレイアウトファイルを指定します。レイアウトファイルは、生成する出力ファイルのグローバルな構造を出力形式に依存しない形で制御します。デフォルトのレイアウトファイルを作るには
-l オプションを付けて起動します。その後にファイル名を指定できますが、デフォルトのレイアウトファイルはDoxygenLayout.xmlです。DoxygenLayout.xmlがあるディレクトリで起動すると、LAYOUT_FILE
タグが空でも、自動的にDoxygenLayout.xmlを解析します。
CITE_BIB_FILES
CITE_BIB_FILES
タグを使えば、リファレンス定義を含んだbibファイルを一つ以上指定できます。指定は、.bibファイルのリストでなければなりません。.bib 拡張子は、省略されていれば自動的に追加されます。このコマンドを使うには、bibtex ツールをインストールする必要があります。詳しくは、http://en.wikipedia.org/wiki/BibTeX を参照してください。LaTeX 用に、書誌のスタイルを制御するには、LATEX_BIB_STYLE を使います。リファレンスの作り方については、\cite をご覧ください。
INPUT
INPUT
タグでは、ドキュメント付けしたソースファイルを含むファイルまたはディレクトリを指定します myfile.cpp
のようなファイル名、あるいは /usr/src/myproject
のような ディレクトリ名を指定することができます。 ファイルやディレクトリを複数指定する場合は、それらをスペースで区切ります。
メモ このタグが空の場合、カレントディレクトリが探索されます。
INPUT_ENCODING
このタグでは、doxygenが解析するソースファイルの文字エンコードを指定します。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++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh .hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.markdown *.md *.mm *.dox *.py .f90 *.f *.vhd *.vhdl
RECURSIVE
RECURSIVE
タグでは、サブディレクトリに対しても入力ファイルの検索を行うかを指定します。 可能な値は、YES
または NO
です。ブランクのままなら、NO
(検索しない) となります。
EXCLUDE
EXCLUDE
タグでは、INPUT
ソースファイルから除外したいファイルやディレクトリを指定します。この方法を使うと、ルートがINPUTタグで指定したディレクトリのサブディレクトリを除外することが簡単にできます。
ここで相対パスとは、doxygen を実行するディレクトリとの相対です。
EXCLUDE_SYMLINKS
EXCLUDE_SYMLINKS
タグでは、シンボリックリンク(unixファイルシステムの特徴)であるファイルやディレクトリを、入力から除外するか否かを選ぶのに使います。
EXCLUDE_PATTERNS
INPUT
タグの値にディレクトリが含まれている場合、EXCLUDE_PATTERNS
タグに複数のワイルドカードパターンを指定することにより、これらのディレクトリから特定のファイルを除外できます。
EXCLUDE_SYMBOLS
EXCLUDE_SYMBOLS
タグに一つ以上のシンボル名(名前空間、クラス、関数など)を指定して、出力から除外することができます。 シンボル名には、完全修飾名、単語、あるいはワイルドカードを使えば部分文字列を使えます。例: ANamespace, AClass, AClass::ANamespace, ANamespace::*Test
注: ワイルドカードは、絶対パスでのファイルについて検索しますので、すべての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 (*.cpp=my_cpp_filter
のような) フィルターがどう使われるかについて詳しくは、INPUT_FILTER
を見てください。 FILTER_PATTERNS
が空か、あるいはパターンのどれともファイル名とマッチしなければ、INPUT_FILTER
が適用されます。
FILTER_SOURCE_FILES
FILTER_SOURCE_FILES
が YES
であれば、入力フィルター(INPUT_FILTER を使って指定していれば)を、ブラウジング用(SOURCE_BROWSERがYESの場合)のソースファイルを作るのに使う入力ファイルをフィルタリングするのにも使います。
FILTER_SOURCE_PATTERNS
FILTER_SOURCE_PATTERNS
タグを使えば、ファイルパターンごとにソースフィルタを指定できます。このパターンは、FILTER_PATTERN
の設定をオーバーライドします。 *.ext=
を使って、特定のパターンに対してソースフィルタを無効にすることも可能です。FILTER_SOURCE_FILES
が有効のときだけ、このオプションは有効です。
USE_MDFILE_AS_MAINPAGE
USE_MD_FILE_AS_MAINPAGE
タグが、入力の一部としてmarkdown ファイルの名前を参照しているならば、その内容がメインページ(index.html)に配置されます。例えば GitHub にプロジェクトを置いていて、導入ページをdoxygen 出力にも再利用したいといった場合に利用できます。
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 ヘッダーファイルを指定できます。 このタグを空にしておくと、doxygenは標準のヘッダを生成します。
HTML として正当なものにするには、スクリプトを含むヘッダファイルやスタイルシートが必要ですが、まずは次のコマンドによってデフォルトのヘッダを作成します。
doxygen -w html new_header.html new_footer.html new_stylesheet.css YourConfigFile
次に、new_header.htmlを変更することをお勧めします。
以下のマーカーは、ヘッダー・フッター内部では特別な意味を持ちます。
$title
- はページタイトルに置換されます。
$datetime
- は現在日時に置換されます。
$date
- は現在日付に置換されます。
$year
- は現在年に置換されます。
$doxygenversion
- はDoxygenのバージョンに置換されます。
$projectname
- はプロジェクト名に置換されます(
PROJECT_NAME参照
)。
$projectnumber
- はプロジェクトナンバーに置換されます(
PROJECT_NUMBER参照
)。
$projectbrief
- はプロジェクト要約説明に置換されます(参照 PROJECT_BRIEF)。
$projectlogo
- は、プロジェクトロゴに置換されます(参照 PROJECT_LOGO)。
$treeview
- は、ナビゲーションツリーに必要なjavascriptやスタイルシートへのリンクに置換されます(ただし、GENERATE_TREEVIEW が無効であれば空文字列)。
$search
- は、検索エンジンに必要なjavascriptやスタイルシートへのリンクに置換されます(ただし、SEARCHENGINE が無効であれば空文字列)。
$mathjax
- は、MathJax機能に必要なjavascriptやスタイルシートへのリンクに置換されます(ただし、USE_MATHJAX が無効であれば空文字列)。
$relpath\^
CREATE_SUBDIRS
が有効であれば、 $relpath\^
コマンドを使って、HTML 出力ディレクトリのルートに対する相対パスを作るよう指定できます。 たとえば、$relpath\^doxygen.css は、標準スタイルシートを指します。
設定によるヘッダとフッタのレイアウトの違いに対処するため、ヘッダには特別なブロックを含めることもできます。このブロックは、設定によって、出力へコピーまたはスキップできます。次のような形式です。
<!--BEGIN BLOCKNAME-->
条件BLOCKNAME が成立すれば、コピーされる内容。
<!--END BLOCKNAME-->
<!--BEGIN !BLOCKNAME-->
条件BLOCKNAME が成立しなければ、コピーされる内容。
<!--END !BLOCKNAME-->
ブロック名には、次のような名前を指定できます。
DISABLE_INDEX
- このブロックの中身は、DISABLE_INDEX が有効(インデックスが無効)ならば、出力にコピーされます。
GENERATE_TREEVIEW
- このブロックの中身は、GENERATE_TREEVIEW が有効ならば、出力にコピーされます。
SEARCHENGINE
- このブロックの中身は、SEARCHENGINE が有効ならば、出力にコピーされます。
PROJECT_NAME
- このブロックの中身は、PROJECT_NAME に有効な文字列があれば、出力にコピーされます。
PROJECT_NUMBER
- このブロックの中身は、PROJECT_NUMBER に有効な値があれば、出力にコピーされます。
PROJECT_BRIEF
- このブロックの中身は、PROJECT_BRIEF に有効な値があれば、出力にコピーされます。
PROJECT_LOGO
- このブロックの中身は、PROJECT_LOGO に有効な値があれば、出力にコピーされます。
TITLEAREA
- このブロックの中身は、各ページのトップにタイトルがあれば、出力にコピーされます。この条件がたつのは、次の場合です。PROJECT_NAME, PROJECT_BRIEF, PROJECT_LOGO のうちどれかが指定されているとき、あるいは、DISABLE_INDEXと SEARCHENGINEの両方が有効のときです。
doxygen が通常使用するデフォルトヘッダーの生成については、セクション doxygen_usage を参照してください。 メモ: デフォルトヘッダの内容は、doxygenバージョンによって変わるかもしれませんので、そのたびに生成してください。
HTML_FOOTER
HTML_FOOTER
タグを使用すれば、ユーザ定義の HTML フッターファイルを指定できます。生成されるHTMLページの各ページに使用されます。 タグがブランクのままだと、doxygen は標準的なフッターを生成します。
デフォルトフッターの生成方法や、フッター内で使用できる特別なコマンドに関して詳しくは、HTML_HEADER を参照してください。 doxygen が通常使用するデフォルトのフッターをどのように生成するか、 ということに関しては、セクション doxygen_usage を参照してください。
HTML_STYLESHEET
HTML_STYLESHEET
タグを使えば、各 HTML ページで用いる、ユーザ定義のカスケーディングスタイルシートを指定できます。HTML 出力の見映えを微調整するのに使えます。 ブランクのままだと、doxygen は、デフォルトのスタイルシートを生成します。 doxygenが通常使用するスタイルシートの生成については、セクション doxygen_usage を参照してください。
- 覚え書き
- このタグよりも、
HTML_EXTRA_STYLESHEET
を使用するようお勧めします。そちらのほうがより堅牢であり、このタグは将来廃止されるでしょう。
HTML_EXTRA_STYLESHEET
HTML_EXTRA_STYLESHEET タグを使えば、追加のユーザー定義のカスケーディングスタイルシートを指定できます。これは、doxygenが作る標準のスタイルシートの後ろにインクルードされます。このオプションを使うと、スタイルの一部を無効にできます。このタグは、HTML_STYLESHEET
よりも好まれます。標準のスタイルシートを入れ替えないので、将来更新されても問題が起きないからです。doxygenはスタイルシートファイルを出力ディレクトリにコピーします。
コンテンツ領域が固定幅となるスタイルシートの例を示します。
body {
background-color: #CCC;
color: black;
margin: 0;
}
div.contents {
margin-bottom: 10px;
padding: 12px;
margin-left: auto;
margin-right: auto;
width: 960px;
background-color: white;
border-radius: 8px;
}
#titlearea {
background-color: white;
}
hr.footer {
display: none;
}
.footer {
background-color: #AAA;
}
HTML_EXTRA_FILES
HTML_EXTRA_FILESタグでは、HTML
出力ディレクトリにコピーしたいイメージファイルやソースファイルを指定できます。 ファイルは、HTML 出力ディレクトリにコピーされます。 これらのファイルをロードするには、HTML_HEADER
ファイルや HTML_FOOTER
ファイルで、$relpath^ マーカーを使ってください。HTML_STYLESHEET
ファイルでは、ファイル名だけを使ってください。 また、これらのファイルは、そのままコピーされます。コマンドやマーカーで指定はできません。
HTML_COLORSTYLE_HUE
HTML_COLORSTYLE_HUE
タグは、HTML 出力の色を制御します。 Doxygen は、この色にしたがって、スタイルシートや背景のイメージを調整します。 色相は、カラーホイール上の角度で指定します。詳しくは、http://en.wikipedia.org/wiki/Hue を参照してください。 たとえば、0は赤、60は黄、120は緑、180はシアン、240は青、300はパープル、360は赤です。0から359を指定できます。
HTML_COLORSTYLE_SAT
HTML_COLORSTYLE_SAT
タグでは、HTML出力での色の純度(彩度)を指定します。0は、グレースケールを、255は、最も鮮明な色です。
HTML_COLORSTYLE_GAMMA
HTML_COLORSTYLE_GAMMA
タグで、HTML出力での色の輝度成分に作用するガンマ補正を制御します。 100以下の値は、だんだんに出力を明るく、100以上は暗くします。100で除算した結果が、実際に使われるガンマ値です。80は0.8、220は2.2、100はガンマを変えません。
HTML_TIMESTAMP
HTML_TIMESTAMP
タグが YES
であれば、各HTMLページが生成される際に、フッターに生成日時が出力されます。NO
にすると、複数起動の結果を比較しやすくなります。
HTML_ALIGN_MEMBERS
HTML_ALIGN_MEMBERS
タグが YESであれば、クラスやファイル、名前空間に属するメンバーは、HTML
において、テーブルに整列します。 NO
が設定されると、黒丸のリストが使われます。
メモ: このタグを NO
に設定することは、将来廃れていくものと考えています。 というのも、作者は、整列形式しかサポートおよびテストをするつもりがないからです。
HTML_DYNAMIC_SECTIONS
HTML_DYNAMIC_SECTIONSが
YESであれば、生成されるHTMLドキュメントに、ページのロード後に表示非表示を制御できるセクションが生成されます。
HTML_NUM_INDEX_ENTRIES
HTML_INDEX_NUM_ENTRIES を使えば、さまざまな木構造のインデックスに最初に表示するエントリーの数を制御できます。後で、ユーザーはエントリーを広げたり折りたたんだりできます。doxygen は、木を広げて、指定した数のエントリーが見えるようにします(完全に折りたたんだ木がすでにこの数を超えていなければ)。エントリー数を1にすると、デフォルトで完全に折りたたんだ木を作ります。0は特別な数値で、無数のエントリーを表わし、デフォルトで完全に広げた木となります。
GENERATE_DOCSET
GENERATE_DOCSETが
YESであれば、追加のインデックスファイルが生成され、Appleの
Xcode 3統合開発環境の入力ファイルとして使えます。この環境は、OSX 10.5 (Leopard)で導入されました。 ドキュメントセットを作るため、HTML出力ディレクトリにMakefileが生成されます。makeを実行してドキュメントセットをつくり、
make install
を実行してそれを ~/Library/Developer/Shared/Documentation/DocSets
にインストールします。Xcodeは起動時にそれを見つけます。詳しくは、この記事を参照してください。
DOCSET_FEEDNAME
GENERATE_DOCSET
がYESであれば、このタグでフィード名が決まります。ドキュメントフィードは、ひとつのプロバイダ
(会社や製品スイート)からの複数のドキュメントセットをグループ化するための包括を提供します。
DOCSET_BUNDLE_ID
GENERATE_DOCSET
が YESであれば、このタグでドキュメントセットのバンドルを特定する文字列を指定できます。文字列は
com.mycompany.MyDocSet
のような逆ドメインネーム形式です。doxygenはその名前に .docset
を付加します。
DOCSET_PUBLISHER_ID
GENERATE_PUBLISHER_ID
が YESであれば、このタグでドキュメントの発行者を特定する文字列を指定できます。文字列は
com.mycompany.MyDocSet
のような逆ドメインネーム形式です。
DOCSET_PUBLISHER_NAME
GENERATE_PUBLISHER_NAME
タグは、ドキュメントの発行者を特定します。
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
) かを指定できます。
CHM_INDEX_ENCODING
GENERATE_HTMLHELP
タグが YES
であれば、CHM_INDEX_ENCODING
は、HTML Help Workshop Index Key File (hhk)、HTML Help workshop Contents (hhc)、プロジェクトファイルコンテンツをエンコードするのに使われます。
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ドキュメントに出力します。
QCH_FILE
QHG_LOCATION タグを指定している場合、QCH_FILEタグを使って、出力.qchファイルの名前を指定できます。パスは、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を実行しようとします。
GENERATE_ECLIPSEHELP
GENERATE_ECLIPSEHELP
タグが YES
であれば、インデックスファイルが追加生成されて、対応するHTMLファイルとともに、Eclipse ヘルプ・プラグインを形成します。
このプラグインをインストールして、Eclipseのヘルプメニューに出すには、HTMLファイルとXMLファイルを格納しているディレクトリの中身を、Eclipseのプラグイン・ディレクトリにコピーする必要があります。プラグイン・ディレクトリ内でのディレクトリ名は、ECLIPSE_DOC_ID と同じでなければなりません。
コピーの後、ヘルプが出現する前に、Eclipseを再起動してください。
ECLIPSE_DOC_ID
このタグでは、Eclipseヘルプ・プラグインに対する唯一のIDを指定します。プラグインをインストールするとき、HTMLファイルとXMLファイルを含むディレクトリ名にも、この名前が必要です。各ドキュメントセットに特有のIDが必要です。
DISABLE_INDEX
生成されるHTMLページのレイアウトを完全に制御するには、インデックスを無効にし、自分のものと置き換える必要があります。DISABLE_INDEX
タグを使えば、各ページのトップの圧縮されたインデックスをオン・オフできます。NO(デフォルト)の値はインデックスを有効にし、YES
は無効にします。タブはナビゲーションツリーと同じ情報を有するため、GENERATE_TREEVIEW を YES
にしてあるのであれば、このオプションを NO
にセットできます。
ENUM_VALUES_PER_LINE
このタグを使えば、doxygenがHTMLドキュメントで一行にまとめるenumの数(0から20まで)をセットできます。値が0であれば、enum値はオーバービューセクションには現れません。
GENERATE_TREEVIEW
GENERATE_TREEVIEW タグを使って、情報を階層化して見せるために、木のようなインデックス構造を生成させるかどうか指定できます。タグの値がYESであれば、サイドパネルが生成され、木のようなインデックス構造(HTMLヘルプ用に生成されるのとちょうど同じ)を生成します。これを機能させるには、JavaScript, DHTML, CSS, フレームをサポートするブラウザ(つまり最新のブラウザ)が必要です。WindowsユーザーはHTMLヘルプ機能に恵まれているでしょう。
カスタムのスタイルシート(参照 HTML_STYLESHEET)を使えば、インデックスの見栄えを 出力の調整 によって調整できます。例として、doxygenが生成するデフォルトのスタイルシートでは、project name でなく木のルートにイメージを置く方法を提示しています。
TREEVIEW_WIDTH
ツリービューが有効(GENERATE_TREEVIEWを参照
)であれば、このタグを使って、木を見せるフレームの初期の幅(ピクセル)を指定できます。
EXT_LINKS_IN_WINDOW
EXT_LINKS_IN_WINDOW
オプションが YES
であれば、doxygenは、タグファイルを通じてインポートされる外部シンボルへのリンクを、別のウィンドウにオープンします。
FORMULA_FONTSIZE
このタグを使えば、HTMLドキュメントにイメージとしてインクルードするLatex式のフォントサイズを変えられます。デフォルトは10です。doxygenを正常に起動した後でフォントサイズを変更した場合、HTML出力ディレクトリからform_*.png
イメージを手動で取り除く必要があります。イメージを再生成させるためです。
FORMULA_TRANSPARENT
FORMULA_TRANPARENT
タグを使えば、式に対して生成されるイメージが透明のPNGかどうかを決められます。IE6.0では透明のPNGはサポートされていませんが、多くの最新ブラウザではサポートされています。このオプションを変える際には、HTML出力からform_*.png
ファイルをすべて削除してください。そうでないと効果が現れません。
USE_MATHJAX
USE_MATHJAX
オプションを使えば、MathJax(http://www.mathjax.orgを参照)を使ってLaTeX式をレンダリングできます。これは、事前にレンダリングしたビットマップを使わずに、クライアントサイドでJavascriptを使います。LaTeXをインストールしていないとか、HTML出力で式を綺麗にしたいときに、このオプションを使います。このオプションが有効な場合、MathJaxを個別にインストールし、MATHJAX_RELPATH オプションを使って、MatchJaxへのパスを追加する必要があります。
MATHJAX_FORMAT
このオプションを使えば、MathJaxが有効なとき、デフォルトの出力フォーマットをMatchJax出力に使うよう設定できます。サポートされているタイプは、HTML-CSS, NativeMML (MathML)、SVGです。デフォルトはHTML-CSSです。これは遅いですが、互換性に優れています。詳しくは、MathJaxをご覧ください。
MATHJAX_RELPATH
MathJaxが有効な場合、HTML出力ディレクトリに対する相対的な場所を、MATHJAX_RELPATH
オプションを使って指定する必要があります。出力先のディレクトリには、MathJax.js スクリプトが必要です。例えば、matchjaxディレクトリがHTML出力ディレクトリと同じレベルにあれば、MATHJAX_RELPATH
は ../mathjax
となります。デフォルトの値は、MathJax Content Delivery Network を指しているので、MathJaxをインストールしないで結果を見ることができます。しかし、まずは、http://www.mathjax.org からMathJaxのローカルコピーをインストールしてください。
MATHJAX_EXTENSIONS
MATHJAX_EXTENSIONSタグを使えば、MathJaxレンダリング中に有効にしたいMathJax拡張子の名前を一つ以上指定できます。例えば、
MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
SEARCHENGINE
SEARCHENGINE
タグを有効にすると、HTML 出力に検索ボックスが生成されます。検索エンジンにはjavascriptとDHTMLを使用しているので、大抵のブラウザで動くはずです。 HTMLヘルプ (GENERATE_HTMLHELP)、Qtヘルプ (GENERATE_QHP)、ドキュメントセット (GENERATE_DOCSET) を使う際には注意してください。これらには、すでに検索機能があるので、このタグは無効にしてください。 大規模プロジェクトの場合、javascript 検索エンジンでは遅いかもしれませんので、その場合は SERVER_BASED_SEARCH の方が良いかもしれません。
キーボードを使って検索することが可能です。検索ボックスに移動するには アクセスキー + S (アクセスキーは、OSやブラウザによって違いますが、CTRLかALT、あるいは両方の場合が多いです。) を使います。 検索ボックス内では、カーソル下向きキーで検索結果ウィンドウに飛びます。結果内はカーソルキーで移動します。 項目を選択するにはEnterを、検索をキャンセルするにはEscapeキーを使います。 カーソルが検索ボックス内にあるときに、Shift + カーソル下向きキーで、フィルター・オプションを選択できます。ここでも、フィルタを選択するにはカーソルキーを、オプションを有効にするにはEnterを、無効にするにはEscapeキーを使います。
SERVER_BASED_SEARCH
SERVER_BASED_SEARCH タグが有効であれば、検索エンジンは、Javascriptを使ったウェブクライアントではなく、ウェブサーバーを使って実装されます。
ウェブサーバーベースの検索には、2つの方法があり、それはEXTERNAL_SEARCHの設定に依存します。このオプションが無効なら、doxygenは検索用PHPスクリプトとスクリプトが使うインデックスファイルを生成します。このオプションが有効なら、インデックスと検索は、外部ツールによって行うことになります。詳細は、extsearch を参照してください。
EXTERNAL_SEARCH
EXTERNAL_SEARCH
が有効であれば、doxygen はPHPスクリプトを検索用に生成しません。かわりに、検索結果は、XMLファイルに書き込まれます。XMLファイルは、外部インデックサによって処理する必要があります。doxygen は、SEARCHENGINE_URL が指す外部検索エンジンを起動して、検索結果を取得します。詳細は、extsearch を参照してください。
SEARCHENGINE_URL
SEARCHENGINE_URL
は、ウェブサーバーがホストする検索エンジンを指します。EXTERNAL_SEARCH が有効であれば、エンジンは検索結果を返します。詳細については、extsearch セクションを参照してください。
SEARCHDATA_FILE
SERVER_BASED_SEARCH 及び EXTERNAL_SEARCH が有効であれば、インデックスされていない検索データは、ファイルに書き込まれ、外部ツールによってインデックスします。SEARCHDATA_FILE
タグを使ってこのファイルの名前を指定できます。デフォルトはsearchdata.xmlです。
EXTERNAL_SEARCH_ID
SERVER_BASED_SEARCH
及び EXTERNAL_SEARCH
が有効であれば、EXTERNAL_SEARCH_ID
タグはプロジェクトの識別子として使うことができます。これは、EXTRA_SEARCH_MAPPINGS との組み合わせで使えば、複数のプロジェクトを検索してその結果を正しいプロジェクトにリダイレクトするために使えて、有用です。
EXTRA_SEARCH_MAPPINGS
EXTRA_SEARCH_MAPPINGS
タグを使えば、この設定ファイルによって定義されたプロジェクトでなく、doxygenプロジェクトの検索を可能にできます。しかしこれは、外部の同じ検索インデックスにすべて追加されます。EXTERNAL_SEARCH_ID を使って、ユニークなIDを各プロジェクトに設定する必要があります。検索マッピングは、ドキュメントがある相対的な場所にそのIDをマップします。
フォーマットを示します。
EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
GENERATE_LATEX
GENERATE_LATEX
が YES
(デフォルト) であれば、 出力を生成します。
LATEX_OUTPUT
LATEX_OUTPUTでは、
ドキュメントが出力される場所を指定します。 相対パスが指定された場合は、その前に OUTPUT_DIRECTORYの値が付加されます。
ブランクなら、デフォルトパスとして、'latex' が使われます。
LATEX_CMD_NAME
LATEX_CMD_NAME
タグでは、起動したいLaTeX コマンド名を指定できます。 空白ですと、'latex' がデフォルトのコマンド名になります。USE_PDFLATEX が有効な場合、このオプションはHTML出力の式のビットマップを生成するためだけに使います。出力先ディレクトリに書かれるMakefileの内容は関係ありません。
MAKEINDEX_CMD_NAME
MAKEINDEX_CMD_NAME タグを使って、LaTeXのインデックスを生成するコマンド名を 指定できます。空白ですと、'makeindex' がデフォルトのコマンド名になります。
COMPACT_LATEX
COMPACT_LATEX
タグが YES
であれば、コンパクトな ドキュメントを生成します。小さなプロジェクトにとって有用で、ツリーをいくらか省けるでしょう。
PAPER_TYPE
PAPER_TYPE
タグを使用すると、プリンタ用紙の種類を設定できます。 可能な値は次のとおり:
-
a4
(210 x 297 mm)
-
letter
(8.5 x 11 インチ)
-
legal
(8.5 x 14 インチ)
-
executive
(7.25 x 10.5 インチ)
ブランクのままだと、 a4
が使われます。
EXTRA_PACKAGES
EXTRA_PACKAGES
タグでは、 出力にインクルードしたい パッケージ名を、1つ以上指定できます。 たとえば、times フォントを得るには、次のように指定します:
EXTRA_PACKAGES = times
ブランクのままだと、追加パッケージは何も含まれません。
LATEX_HEADER
LATEX_HEADER
では、生成される ドキュメントにつけたい ヘッダーを指定できます。 ヘッダーは、最初の章に至るまでの全てを含んでいる必要があります。
ブランクのままだと、doxygen は、標準ヘッダを生成します。 セクション doxygen_usage で、デフォルトヘッダを別ファイルに書き込む方法を示しています。
- メモ:
- ユーザ定義のヘッダーは、その意味を理解してから使用してください。
以下のコマンドは、ヘッダー内部で特別な意味を持ちます:
$title
, $datetime
, $date
, $doxygenversion
, $projectname
, $projectnumber
。
doxygen は、これらを、それぞれ、以下のもので置換します:
ページタイトル、現在の日時、現在の日付のみ、doxygen のバージョン番号、 プロジェクト名 (PROJECT_NAME
参照)、 プロジェクト番号 (PROJECT_NUMBER
参照)。
LATEX_FOOTER
LATEX_FOOTER タグでは、生成されるLaTeXドキュメントに対する独自のLaTeXフッターを指定できます。フッターは、最後の章の後のすべてを含むものです。空白にしておくと、doxygenは、標準のフッターを生成します。 注意: タグの意味を理解してお使いください。
PDF_HYPERLINKS
PDF_HYPERLINKS
タグが YES
であれば、生成される には、 (ps2pdf または pdflatex を利用して) PDF に変換するための準備が施されます。 PDF ファイルには、ページリファレンスの代わりに (HTML 出力と同様) リンクが含まれます。 PDF ビューアでオンラインブラウジングをするのに適した形になります。
USE_PDFLATEX
LATEX_PDFLATEX
タグが YES
であれば、pdflatex を使用して ファイルから直接 PDF ファイルを生成します。
LATEX_BATCHMODE
LATEX_BATCHMODE
が YES
であれば、生成される ファイルに、\batchmode コマンドを追加します。 これによって、 でエラーが発生しても、ユーザの指示を仰ぐことなく動作します。HTML形式で式を生成する際にも使用されます。
LATEX_BIB_STYLE
LATEX_BIB_STYLE
タグを使えば、書誌に使うスタイルを指定できます。例えば、plainnat
や ieeetr
です。デフォルトは、plain
です。詳しくは、http://en.wikipedia.org/wiki/BibTeX と\citeを参照してください。
LATEX_HIDE_INDICES
LATEX_HIDE_INDICES
が YES であれば、File Index, Compound Indexなどのインデックスの章を出力に含めません。
LATEX_SOURCE_CODE
LATEX_SOURCE_CODE
を YESにすると、ソースコードをインクルードし、LaTeX出力で構文を強調表示してくれます。どのソースが表示されるかは、
SOURCE_BROWSER など他の設定によっても決まります。
CLASS_DIAGRAMS
CLASS_DIAGRAMS
タグが YES
(デフォルト) であれば、クラス図を基底クラスやスーパークラスつきで (HTML と 形式で) 生成します。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_NUM_THREADS
DOT_NUM_THREADS
では、Doxygenが平行実行できるdot呼び出しの数を指定します。 これがデフォルト0だと、Doxygen は、システムのプロセッサ数をベースにします。 CPU負荷と処理速度とのバランスを制御したい場合、0より大きく明示できます。
DOT_FONTNAME
- デフォルトでDoxygenは、生成するdotファイルのすべてにおいてHelveticaフォントを使用します。違った形のフォントが必要な場合にはそのフォント名を
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 とよく似たスタイルで生成します。
UML_LIMIT_NUM_FIELDS
UML_LOOK タグが有効であれば、項目やメソッドはクラスノード内に現れます。項目やメソッドが多く、ノードが多ければ、グラフが大きくなりすぎるかもしれません。UML_LIMIT_NUM_FIELDS
閾値は、それぞれのタイプのアイテムの数を制限して、サイズを扱いやすくします。0は、制限なしを意味します。制限が強制される前に、閾値を50超えてよいことになっています。ですので、閾値を10にすると、最大15項目まで出現します。しかし15を超えると、項目の全体数は10に制限されます。
TEMPLATE_RELATIONS
TEMPLATE_RELATIONS
と HAVE_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_GRAPH
と HAVE_DOT
タグが YES であれば、グローバル関数やクラスメソッドのすべてについて、呼び出し依存関係図を生成します。 このオプションを YES にすることで、実行時間が大変長くなることに注意してください。ですから、大抵の場合は \callgraph コマンドだけで、図にする関数を選択することが望ましいです。
CALLER_GRAPH
CALLER_GRAPH
と HAVE_DOT
タグが YES であれば、グローバル関数やクラスメソッドのすべてについて、呼び出し元依存関係図を生成します。 このオプションを YES にすることで、実行時間が大変長くなることに注意してください。 ですから、大抵の場合は \callergraph コマンドだけで、図にする関数を選択することが望ましいです。
GRAPHICAL_HIERARCHY
GRAPHICAL_HIERARCHY
タグと HAVE_DOT
タグが YES
であれば、テキスト形式の代わりに、グラフ化された全クラス階層図を生成します。
DIRECTORY_GRAPH
DIRECTORY_GRAPH
、HAVE_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 が生成するイメージのフォーマットを設定するのに使います。 svg, png, jpg, gif いずれかを指定できます。空白なら、png を指定したことになります。 - 覚え書き
svg
を指定するには、HTML_FILE_EXTENSIONをxhtmlに指定する必要があります。IE 9以上(他のブラウザでは不要です)では、SVGファイルを見えるようにするためです。
INTERACTIVE_SVG
- DOT_IMAGE_FORMATをsvgにする場合、このオプションをYESにすれば、ズーミングやパンニングができるインタラクティブなSVGイメージを生成できます。ただし、IEでない最新のブラウザが必要です。動作確認できているのは、Firefox, Chrome, Safari, Opera です。
- 覚え書き
- IE 9以上では、
HTML_FILE_EXTENSION
を xhtml に設定する必要があります。SVGファイルを見えるようにするためです。9未満のIEにはSVGサポートがありません。
DOT_PATH
このタグでは、dot ツールのパスを指定できます。 ブランクであれば、dot ツールはコマンドパスにあるものと想定します。
DOTFILE_DIRS
このタグでは、ドキュメントに含まれる dot ファイルを格納する、1つ以上のディレクトリを指定できます (\dotfile コマンドを参照)。
MSCFILE_DIRS
このタグでは、ドキュメントに含まれるmscファイルのディレクトリを指定できます(\mscfileコマンドを参照)。
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 の中間ファイルを削除します。
通常なら C プリプロセッサで置換されるいくつかのマクロ名を、ここでは、doxygen のプリプロセッサを使用して置換しています。 ただし、完全なマクロ展開は行われていません。