一般的な設定変数
一般的なQDocの設定変数で、QDocがドキュメントを生成するために必要な様々なソースファイルを見つける場所や、生成されたドキュメントを置くディレクトリを定義することができます。また、QDoc自体のちょっとした操作や、出力や処理の動作を制御することもできます。
コードインデント
codeindent
変数はQDocがコード・スニペットを書くときに使うインデントのレベルを指定します。
QDocは元々、コード・スニペットを周囲のテキストと簡単に区別できるようにするために、コードのインデントに4つのスペースをハード・コードした値を使用していました。スタイルシートを使って特定のタイプのHTML要素の見た目を調整することができるので、このレベルのインデントは必ずしも必要ではありません。
codeprefix、codesuffix
codeprefix
とcodesuffix
変数は、各コード・スニペットを囲む文字列のペアを指定します。
定義
defines
変数は、QDocが認識して応答するC++プリプロセッサ・シンボルを指定します。
プリプロセッサ・シンボルがdefines
変数で指定されている場合、そのプリプロセッサ・シンボルが定義されている場合にのみインクルードされるドキュメントを囲むために\ifコマンドを使用することもできます。
defines = QT_GUI_LIB
これにより、QDocはこれらのシンボルが定義されている必要があるコードを確実に処理します。例えば
#ifdef Q_GUI_LIB void keyClick(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1) #endif
Dオプションを使用して、コマンドラインで手動でプリプロセッサ・シンボルを定義することもできます。例えば
currentdirectory$ qdoc -Dqtforpython qtgui.qdocconf
この場合、-DオプションはQDocがqtgui.qdocconfファイルで定義されたソース・ファイルを処理するときにqtforpython
プリプロセッサ・シンボルが定義されるようにします。
falsehoodsと\if も参照してください。
依存
depends
変数は、このプロジェクトが型継承やその他ドキュメントがリンクする必要のあるもののリンクターゲットを解決するために依存する他のドキュメントプロジェクトのリストを定義します。
Qt自体のように、Qtのドキュメントは複数のモジュールに分散しています。複数モジュールのドキュメントプロジェクトでは、1つのモジュールの依存関係の最小セットは、実際のビルド依存関係で構成されます。さらに、ドキュメント全体のトップレベルのエントリーポイントとして機能し、ナビゲーションリンクを提供するドキュメントプロジェクト(モジュール)がある場合は、各モジュールのドキュメントに依存関係として含める必要があります。
QDocがプロジェクトのドキュメントを生成するとき、プロジェクト内のリンク可能な各エンティティへのURLを含む.index
。各依存関係はプロジェクトの(小文字の)名前です。この名前は、そのプロジェクトのために生成されるインデックスファイルのベース名と一致しなければなりません。
depends = \ qtdoc \ qtcore \ qtquick
依存関係を持ち、depends
変数を使用するプロジェクトで QDoc を起動する場合、1 つ以上の-indexdir
パスをコマンドライン・オプションとして渡す必要があります。QDocはこれらのパスを使用して、依存関係のインデックスファイルを検索します。
qdoc mydoc.qdocconf -outputdir $PWD/html -indexdir $QT_INSTALL_DOCS
上記の場合、QDocは依存関係のためのファイル$QT_INSTALL_DOCS/qtdoc/qtdoc.index
をqtdoc
。依存関係のためのインデックス・ファイルが見つからない場合、QDocは警告を出力します。
depends
コマンドは特別な値'*'も受け付けます。これはQDocに、指定されたインデックスディレクトリで見つかったすべてのインデックスファイルを読み込むように指示します。
depends = *
exampledirs
exampledirs
変数は、サンプルファイルのソースコードを含むディレクトリを指定します。
examples変数とexampledirs変数を使用するのは、◎quotefromfile、◎quotefile、◎exampleコマンドです。examples変数とexampledirs変数の両方が定義されている場合、QDocは両方を検索し、まずexamplesを検索し、次にexampledirsを検索します。
QDoc は、指定された順序でディレクトリを検索し、最初に一致したファイルを受 け入れます。指定されたディレクトリ内のみを検索し、サブディレクトリ内は検索しません。
exampledirs = $QTDIR/doc/src \ $QTDIR/examples \ $QTDIR \ $QTDIR/qmake/examples examples = $QTDIR/examples/widgets/analogclock/analogclock.cpp
処理中
\quotefromfile widgets/calculator/calculator.cpp
QDocは、calculator.cpp
というファイルが変数に値としてリストされているかどうかを調べます。 examples
変数の値としてリストされているかどうかを確認する。もし存在しなければ、exampledirs
変数内を検索し、まず、 というファイルが存在するかどうかを調べます。
$QTDIR/doc/src/widgets/calculator/calculator.cpp
もしなければ、QDocはというファイルを探し続けます。
$QTDIR/examples/widgets/calculator/calculator.cpp
というファイルを探し続けます。
例も参照してください。
例
変数examples
を使うと、その変数で指定されたディレクトリにあるファイルの他に、個々のサンプル・ファイルを指定することができる。 exampledirs
変数で指定されたディレクトリにあるものに加えて、 個々のexampleファイルを指定することができます。
examples
と exampledirs
変数が使用されます。 examples
と exampledirs
examples
変数の両方が定義されている場合、QDocは両方を検索します。 exampledirs
.
QDoc はexamples
変数にリストされた値を指定された順序で検索し、最初に見つかった値を受け入れます。
広範な例については exampledirs
コマンドを参照してください。しかし、ファイルがexamples
変数にリストされていることが分かっていれば、そのパスを指定する必要はないことに注意してください:
\quotefromfile calculator.cpp
exampledirsも参照のこと。
examplesinstallpathも参照してください。
examplesinstallpath
変数は、インストールされたexampleディレクトリの下にあるこのプロジェクトのexamplesのルートパスを設定します。
すべてのサンプルのルート・インストール・パスをQT_INSTALL_EXAMPLES
とすると、パス
<QT_INSTALL_EXAMPLES>/<examplesinstallpath>/<example_path>
は、このドキュメント・プロジェクト内の単一のサンプルのパスを参照するために使用されます。これらのパスは、Qt Creator が読み込むサンプル・マニフェスト・ファイルに記録されます。
正しいパスを確保するために、examplesinstallpath
はexampledirs にリストされているディレクトリのいずれかと一致しなければなりません。各「example」コマンドの引数として渡されるパスは、「exampledirs」のパスに対する相対パスです。
例えば
exampledirs = ./snippets \ ../../../examples/mymodule examplesinstallpath = mymodule
そして、以下のような㊙コマンドが与えられます:
/*! \example basic/hello ... */
すると、この例のマニフェストファイルにはmymodule/basic/hello
というパスが記録されます。
注意: ˶-metaコマンドを使用して、個々の˶-exampleに対して examplesinstallpath
を上書きすることができます。
exampledirs, ¦example, ¦metaも参照してください。
examples.ファイル拡張子
examples.fileextensions
変数は、QDoc がドキュメントに表示するサンプル・ファイルを収集する際に探すファイル拡張子を指定します。
デフォルトの拡張子は*.cpp, *.h, *.js, *.xq, *.svg, *.xml, *.uiです。
拡張子は標準的なワイルドカード表現で指定されます。ファイル拡張子は '+=' を使ってフィルターに追加できます。例えば
examples.fileextensions += *.qrc
headers.fileextensions も参照してください。
除外項目
excludedirs
変数は、sourcedirsまたはheaderdirs変数によって同じディレクトリが含まれていても、QDoc によって処理されるべきでないディレクトリをリストするためのものです。
例えば
sourcedirs = src/corelib excludedirs = src/corelib/tmp
実行されると、QDocはリストされたディレクトリを以降の検討対象から除外します。これらのディレクトリにあるファイルはQDocによって読み込まれません。
excludefilesも参照してください。
除外ファイル
excludefiles
変数を使用すると、QDoc で処理しないファイルを個別に指定できます。
excludefiles += $QT_CORE_SOURCES/../../src/widgets/kernel/qwidget.h \ $QT_CORE_SOURCES/../../src/widgets/kernel/qwidget.cpp
qtbaseのqdocconfファイルに上記を含めると、QWidget のクラス・ドキュメントは生成されません。
Qt 5.6 以降、単純なワイルドカード ('*' と '?') もexcludefiles
で認識されます。例えば、すべてのプライベートQtヘッダーファイルが解析されないようにするには、次のように定義します:
excludefiles += "*_p.h"
excludedirs も参照してください。
画像外
extraimages
変数は QDoc に生成されるドキュメントに特定の画像を取り込むように指示します。
QDocは自動的にimagedirsから出力ディレクトリに画像ファイルをコピーします。 \image
または \inlineimage
コマンドで参照されていれば、QDocは自動的にimagedirsから出力ディレクトリに画像ファイルをコピーします。さらに画像をコピーしたい場合は、extraimages
変数を使って指定する必要があります。
一般的な構文は format.extraimages = image
.
文脈を考慮した例については、HTML.postheader変数の説明を参照してください。
例
HTML.extraimages = images/qt-logo.png
虚偽
falsehoods
変数は、指定されたプリプロセッサシンボルの真理値を偽と定義する。
この変数の値は正規表現である(詳細はQRegularExpression を参照)。この変数がプリプロセッサシンボルに設定されていない場合、QDocはその真理値を真と見なします。例外は'0'で、これは常に偽である。
QDocは以下のプリプロセッサ構文を認識し、評価することができます:
#ifdef NOTYET ... #endif #if defined (NOTYET) ... #end if
しかし
#if NOTYET ... #endif
プリプロセッサ・シンボルがfalsehoods
変数エントリーの中で指定されていない限り、QDocはデフォルトでこれをtrueとして評価します:
falsehoods = NOTYET
definesも参照してください。
生成インデックス
generateindex
変数には、HTML文書が生成されるときにインデックスファイルを生成するかどうかを指定するブール値が格納されます。
デフォルトでは、インデックスファイルは常に HTML ドキュメントと一緒に生成されるので、この変数は通常、この機能を無効にする場合 (値をfalse
に設定する) か、WebXML 出力のインデックス生成を有効にする場合 (値をtrue
に設定する) にのみ使用されます。
ヘッダディレクトリ
headerdirs
変数は、ドキュメントで使用される.cpp
ソースファイルに関連するヘッダーファイルを含むディレクトリを指定します。
headerdirs = $QTDIR/src \ $QTDIR/extensions/activeqt \ $QTDIR/extensions/motif \ $QTDIR/tools/designer/src/lib/extension \ $QTDIR/tools/designer/src/lib/sdk \ $QTDIR/tools/designer/src/lib/uilib
実行されると、QDocは最初に、変数 headers
変数で指定されたヘッダーと、headerdir
変数で指定されたディレクトリ(すべてのサブディレクトリを含む)にあるヘッダーを読み込み、クラスとその関数の内部構造を構築します。
で指定されたソースを読み込みます。 sources
で指定されたソース、および sourcedirs
変数(すべてのサブディレクトリを含む)で指定されたディレクトリにあるソースを読み、ヘッダーファイルから取得した構造にドキュメントをマージします。
変数headers
とheaderdirs
の両方が定義されている場合、QDoc はその両方を読み込みます。 headers
次にheaderdirs
。
指定されたディレクトリの中で、QDocは変数fileextensions
で指定されたファイルだけを読み込みます。 headers.fileextensions
変数で指定されたファイルだけを読みます。で指定されたファイルは headers
で指定されたファイルは、ファイル拡張子を考慮せずに読み込まれます。
headersと headers.fileextensionsも参照してください。
ヘッダ
変数headers
を使うと、ヘッダーファイルの指定ができます。 headerdirs
変数で指定されたディレクトリにあるヘッダーファイルに加えて、 個々のヘッダーファイルを指定することができます。
headers = $QTDIR/src/gui/widgets/qlineedit.h \ $QTDIR/src/gui/widgets/qpushbutton.h
headers
変数を処理するとき、QDoc は headerdirs
変数を処理するときと同じように動作します。詳しくは headerdirs
変数を参照してください。
headerdirs も参照してください。
ヘッダーファイル拡張子
headers.fileextensions
変数はヘッダで使われる拡張子を指定します。
変数で指定されたヘッダーファイルを処理するとき headerdirs
変数で指定されたヘッダーファイルを処理するとき、QDocはheaders.fileextensions
変数で指定されたfileextensionsを持つファイルだけを読みます。こうすることで、QDocは無関係なファイルの読み込みに時間を費やさずに済む。
デフォルトの拡張子は *.ch, *.h, *.h++, *.hh, *.hpp, *.hxx です。
拡張子は標準的なワイルドカード式で指定される。ファイル拡張子は、'+=' を使用してフィルターに追加できます。例えば
header.fileextensions += *.H
警告 上記の代入は説明通りに動作しない場合があります。
headerdirs も参照のこと。
インクルードパス
includepaths
変数は、QDoc がドキュメントのコメント用に C++ コードを解析する際に使用する Clang パーサーに、追加のインクルードパスを渡すために使用されます。
この変数には、-I
(インクルードパス)、-F
(macOSフレームワークインクルードパス)、-isystem
(システムインクルードパス)をプレフィックスとしたパスのリストを渡すことができます。プレフィックスが省略された場合、デフォルトで-I
が使用されます。
現在の .qdocconf ファイルからの相対パスは絶対パスに解決されます。ファイルシステムに存在しないパスは無視されます。
注意: Qt ドキュメントプロジェクトの場合、ビルドシステムは通常、QDoc を起動する際のコマンドライン引数として、必要なインクルードパスを提供します。
moduleheaderも参照してください。
無視語
ignorewords
変数はQDocがハイパーリンクターゲットを解決するときに無視する文字列のリストを指定するために使われます。
QDocには自動リンク機能があり、C++またはQMLエンティティに似た単語に対してリンクが試みられます。具体的には、文字列の長さが3文字以上で、空白文字がなく、かつ次のような場合に自動リンクの対象となります。
- キャメルケース(camelCase)の単語である。つまり、0以上のインデックスに少なくとも1つの大文字が含まれている。
- 部分文字列
()
または::
を含む。 - 少なくとも1つの特殊文字、
@
または_
を含む。
ignorewords
に修飾語を追加すると、QDocはその単語を自動的にリンクしなくなります。例えば、OpenGLという単語が有効なリンク・ターゲット(セクショ ン、ページ、または外部ページのタイトル)である場合、各出現箇所に対するハイパーリンクは次のように して回避できます。
ignorewords += OpenGL
による明示的なリンクは、無視された単語に対して機能し続けます。
ignorewords
変数はQDoc 5.14で導入されました。
無視
ignoresince
変数は、"ignoresince"コマンドに渡されるバージョンのカットオフ 値を設定するために使用されます。このカットオフ値より低いバージョンを定義した全ての "ignoresince "コマンドは無視され、出力されません。
カットオフ値はプロジェクト固有です。プロジェクト名はサブ変数として定義できます。デフォルトのプロジェクト名はQt です。例えば
ignoresince = 5.0 ignoresince.QDoc = 5.0
メジャー・バージョンが4以下で、プロジェクトがQDoc
またはundefinedの場合、"undefined "コマンドは無視されます。
\since 3.2 # Ignored \since 5.2 # Documented (as 'Qt 5.2') \since QDoc 4.6 # Ignored \since QtQuick 2.5 # Documented
ignoresince
変数は QDoc 5.15 で導入されました。
を参照してください。
imagedirs
imagedirs
変数は、ドキュメントで使用される画像を含むディレクトリを指定します。
変数 images
とimagedirs
変数は、"image "コマンドと "inlineimage "コマンドで使用されます。と images
とimagedirs
変数の両方が定義されている場合、QDoc は両方を検索します。最初に images
で検索し、次にimagedirs
で検索します。
QDocは指定された順序でディレクトリを検索し、最初にマッチしたファイルを受け入れます。QDocは指定されたディレクトリ内のみを検索し、サブディレクトリ内は検索しません。
imagedirs = $QTDIR/doc/src/images \ $QTDIR/examples images = $QTDIR/doc/src/images/calculator-example.png
処理中
\image calculator-example.png
QDocは次にimages
変数の値としてリストされているcalculator-example.pngというファイルがあるかどうかを調べます。なければ、imagedirs
変数で検索します:
$QTDIR/doc/src/images/calculator-example.png
ファイルが存在しない場合、QDocは以下のファイルを探します。
$QTDIR/examples/calculator-example.png
というファイルを探します。
language
変数は、ドキュメントで使用されるソース・コードの言語を指定します。具体的に言うと、これは \code .\endcodeブロック内のソース・コードを解析する際のデフォルト言語を定義します。
language = Cpp
デフォルトの言語は C++(Cpp)で、明示的に指定する必要はありません。ドキュメント内のコード・スニペットが主にQMLコードで構成されている場合は、 QMLをデフォルトに設定してください:
language = QML
code-command[◆code}も参照してください。
locationinfo
locationinfo
boolean変数は、各エンティティの詳細な位置情報を.index
-filesと.webxml
-filesに書き込むかどうかを決定します(WebXML出力形式を使用する場合)。
位置情報は、ソースコードの宣言またはドキュメント・コメント・ブロックのフル・パスと行番号で構成されます。
これをfalse
に設定すると、位置情報がオフになります:
locationinfo = false
デフォルト値はtrue
です。
locationinfo
変数はQDoc 5.15で導入されました。
マクロ
macro
変数はあなた自身の簡単なQDocコマンドを作成するために使われます。構文は macro.command = definition
で、定義はQDoc構文を使って書かれます。
マクロ変数は1つのタイプの出力生成での使用を制限することができます。例えば、.HTML
をマクロ名に追加することで、マクロはHTML出力を生成するときにのみ使用されます。
macro.key = "\\b" macro.raisedaster.HTML = "<sup>*</sup>"
最初のマクロは、引数を太字フォントでレンダリングする "key "コマンドを定義しています。2番目のマクロは、HTMLを生成するときだけ、上付きアスタリスクを表示するために \raisedaster コマンドを定義する。
マクロは最大7つのパラメーターを取ることもできる:
macro.hello = "Hello \1!"
パラメータは他のコマンドと同じようにマクロに渡される:
\hello World
複数のパラメータを使用する場合、または引数に空白が含まれる場合は、各引数を中括弧で囲みます:
macro.verinfo = "\1 (version \2)"
\verinfo {QFooBar} {1.0 beta}
特別なマクロ・オプションmatch を追加して、拡張マクロの正規表現パターン・マッチを追加することができる。
例えば
macro.qtminorversion = "$QT_VER" macro.qtminorversion.match = "\\d+\\.(\\d+)"
これは、QT_VER 環境変数に基づいてマイナー・バージョンに展開されるマクロ \qtminorversion を作成します。
マッチパターンを定義するマクロは、すべてのキャプチャグループ(括弧)を連結したものを出力し、パターンにキャプチャグループが含まれていない場合は、マッチした文字列を正確に出力します。
定義済みマクロの詳細については、マクロを参照してください。
マニフェスト・メタ
manifestmeta
変数は、QDoc が生成するサンプル マニフェスト ファイルの追加メタ コンテンツを指定します。
詳細については、「マニフェスト・メタ・コンテンツ」セクションを参照してください。
モジュールヘッダー
moduleheader
変数は、ドキュメント化された C++ モジュールのモジュール・ヘッダーの名前を定義します。
C++ API をドキュメント化するプロジェクトでは、モジュールのすべてのパブリック・クラス、名前空間、ヘッダー・ファイルを含むモジュール・レベルのヘッダーが必要です。QDocのClangパーサーはこのファイルを使用して、ソース・ファイルのパース速度を向上させるために、モジュールのプリコンパイル済みヘッダー(PCH)を構築します。
デフォルトでは、プロジェクト名はモジュールヘッダ名としても使用されます。
project = QtCore
上記のプロジェクト名で、QDocはモジュールヘッダQtCoreをすべての既知のインクルードパスで検索します。最初にコマンドライン引数として渡されたパスを使用し、次にincludepaths変数にリストされたパスを使用します。
モジュール・ヘッダが見つからない場合、QDocは警告を発します。その後、headerdirs変数にリストされたヘッダに基づいて、人工的なモジュールヘッダを構築しようとします。
Qtドキュメンテーションプロジェクトでは、ビルドシステムは通常、project
変数が正しく設定されていれば、モジュールヘッダーを見つけるための正しいインクルードパスをQDocに提供します。moduleheader
変数は、QDocが検索するための代替ファイル名を提供します。
プロジェクトにC++ドキュメントが含まれていない場合、moduleheader
を空文字列に設定することで、PCHの生成をスキップするようにQDocに指示する必要があります:
# No C++ code to document in this project moduleheader =
includepathsと projectも参照してください。
自然言語
naturallanguage
変数は QDoc が生成するドキュメントに使われる自然言語を指定します。
naturallanguage = zh-Hans
デフォルトでは、レガシードキュメンテーションとの互換性のため、自然言語はen
。
QDocはlang
とxml:lang
属性を使って、生成するHTMLに自然言語情報を追加します。
sourceencoding、outputencoding、C.7も参照してください。langとxml:lang属性と ベスト・プラクティス13:HansとHantコードの使用も参照してください。
ナビゲーション
navigation
サブ変数が定義されている場合、各ページの生成されたナビゲーションバーに表示されるホームページ、ランディングページ、C++クラスページ、QMLタイプページを設定します。
複数のサブプロジェクト(例えば、Qtモジュール)があるプロジェクトでは、通常、各サブプロジェクトが独自のランディングページを定義する一方で、すべてのサブプロジェクトで同じホームページが使用されます。
サブ変数
navigation.homepage | プロジェクトのホームページ。 |
navigation.hometitle | (オプション) ホームページのユーザーから見えるタイトル。デフォルト値はhomepage 。 |
navigation.landingpage | サブプロジェクトのランディングページ。 |
navigation.landingtitle | (オプション) ランディングページのユーザーから見えるタイトル。デ フ ォ ル ト 値はlandingpage か ら 取得 し ます。 |
navigation.cppclassespage | この(サブ)プロジェクトのすべての C++ クラスを一覧表示するトップレベル・ページ。通常は、モジュール・ページのタイトルです。 |
navigation.cppclassestitle | (オプション) C++ クラス・ページのユーザー可視タイトル。デフォルトは "C++ クラス" です。 |
navigation.qmltypespage | この(サブ)プロジェクトのすべてのQMLタイプをリストするトップレベルページ。一般的に は、"QMLmodule "ページのタイトルです。 |
navigation.qmltypestitle | (オプション) QML タイプ・ページのユーザーから見えるタイトル。デフォルトは "QML Types "です。 |
navigation.toctitles (QDoc 6.0以降) | 目次(TOC)として機能するリスト構造を含むページ・タイトル。QDocは、TOCにリストされたページのためのナビゲーション・リンクを生成します。 |
navigation.toctitles.inclusive (QDoc 6.3以降) | true に設定すると、navigation.toctitles にリストされているページもルート・アイテムとしてナビゲーション・バーに表示されます。 |
navigation.trademarkspage (QDoc 6.8以降) | ドキュメントで言及されている商標を文書化したページのタイトル。参照 \tm コマンドも参照してください。 |
例えば
# Common configuration navigation.homepage = index.html navigation.hometitle = "Qt $QT_VER" # qtquick.qdocconf navigation.landingpage = "Qt Quick" navigation.cppclassespage = "Qt Quick C++ Classes" navigation.qmltypespage = "Qt Quick QML Types"
上記の設定は、Item
QMLタイプに対して以下のナビゲーション・バーを生成します:
Qt 5.10 > Qt Quick > QML Types > Item QML Type
出力ディレクトリ
outputdir
変数はQDocが生成されたドキュメントを置くディレクトリを指定します。
outputdir = $QTDIR/doc/html
を指定すると、生成されたQtリファレンス・ドキュメントは$QTDIR/doc/htmlに置かれます。例えば、QWidget クラスのドキュメントは
$QTDIR/doc/html/qwidget.html
関連する画像はimages
サブディレクトリに置かれます。
警告 同じ出力ディレクトリを使ってQDocを複数回実行すると、前回実行したときのファイルはすべて失われます。
出力エンコーディング
outputencoding
変数は QDoc が生成するドキュメントに使用するエンコーディングを指定します。
outputencoding = UTF-8
デフォルトでは、レガシードキュメンテーションとの互換性のために、出力エンコーディングはISO-8859-1
(Latin1) です。いくつかの言語、特に非ヨーロッパ言語のドキュメントを生成する場合、これでは不十分で、UTF-8のようなエンコーディングが必要になります。
QDocはこのエンコーディングを使ってHTMLをエンコードし、どのエンコーディングが使われているかをブラウザに示すための正しい宣言を生成します。ブラウザに文字エンコーディングと言語情報の完全なセットを提供するために、naturallanguage設定変数も指定する必要があります。
outputencodingと naturallanguageも参照してください。
出力フォーマット
outputformats
変数は、生成されるドキュメントのフォーマットを指定します。
Qt 5.11以降、QDocはHTMLとWebXMLのフォーマットをサポートしています。Qt 5.15以降、DocBookでドキュメントを生成することもできます。Qt 5.15からはDocBookでもドキュメントを生成できるようになりました。outputformats
を指定しない場合、QDocはHTML(デフォルトのフォーマット)でドキュメントを生成します。すべての出力形式を指定でき、専用の出力ディレクトリやその他の設定も可能です。例えば
outputformats = WebXML HTML WebXML.nosubdirs = true WebXML.outputsubdir = webxml WebXML.quotinginformation = true
これはデフォルトの設定で HTML ドキュメントを生成し、出力サブディレクトリwebxml に WebXML ドキュメントを生成します。
出力接頭辞
outputprefixes
変数は、生成されるドキュメントの出力ファイル名の前に付ける 接頭辞とファイルの種類との対応を指定します。
QDocはQML型、C++クラス、名前空間、ヘッダーファイル参照ページのファイル名に出力接頭辞を付加することをサポートしています。
outputprefixes = QML CPP outputprefixes.QML = uicomponents- outputprefixes.CPP = components-
デフォルトでは、QML型のAPIドキュメントを含むファイルのプレフィックスはqml-
です。 上記の例では、プレフィックスの代わりにuicomponents-
を使用しています。
同様に、C++の型ドキュメントのページには、components-
という接頭辞がつきます。デフォルトでは、C++型のページには接頭辞はありません。
出力接頭辞
outputsuffixes
変数は、ファイルの型と、出力ファイル名に現れるモジュール名や型名に適用する接尾辞との対応を指定します。
QDocはモジュールページ、QML型、C++クラス、名前空間、ヘッダーファイル参照ページのファイル名に出力接尾辞をつけることをサポートしています。
デフォルトでは、接尾辞は使用されません。QML出力接尾辞が定義されている場合、QMLタイプおよびQMLモジュールページのファイル名に表示されるモジュール名の接尾辞として適用されます。
C++ 型のファイル名にはモジュール名は含まれません。CPP 出力接尾辞が定義されている場合は、型名の接尾辞として適用されます。
outputsuffixes = QML CPP {outputsuffixes.QML,outputsuffixes.CPP} = -tp
上記の定義により、QMLモジュール名FooBarとデフォルトの出力接頭辞(qml-
) が与えられた場合、QML型FooWidgetの生成ファイル名はqml-foobar-tp-foowidget.html
となります。
同様に、C++クラスQFoobarの場合、QDocはqfoobar-tp.html
を生成します。
outputsuffixes
変数はQDoc 5.6で導入されました。
qhp
qhp
サブ変数は、Qt Help Project (qhp
) ファイルに書き出す情報を定義するために使われます。
この処理については、ヘルププロジェクトファイルの作成の章を参照してください。
QDoc 6.6以降では、ベース変数qhp
をtrue
に設定することは、有効なヘルププロジェクト設定が期待されることを意味します:
qhp = true
そして、プロジェクト構成がqhp.projects
を定義していない場合、QDocは警告を発します。これは(Qtのように)トップレベルの.qdocconfファイルを共有するすべてのドキュメントプロジェクトが正しく設定されていることを確認するのに便利です。
警告をオフにするには、この変数をfalse
に設定します。
ソースディレクトリ
sourcedirs
変数は、ドキュメントで使用される.cpp
または.qdoc
ファイルを含むディレクトリを指定します。
sourcedirs += .. \ ../../../examples/gui/doc/src
実行されると、QDocはまず、変数 header
変数で指定されたヘッダーと、headerdir
変数で指定されたディレクトリ(すべてのサブディレクトリを含む)にあるヘッダーを読み込み、クラスとその関数の内部構造を構築します。
で指定されたソースを読み込みます。 sources
変数で指定されたソースと sourcedirs
変数で指定されたディレクトリ(すべてのサブディレクトリを含む)にあるソースを読み、ヘッダーファイルから取得した構造にドキュメントをマージします。
変数sources
とsourcedirs
の両方が定義されている場合、QDoc はその両方を読み込みます。 sources
次にsourcedirs
。
指定されたディレクトリの中で、QDocは変数fileextensions
で指定されたファイルだけを読み込みます。 sources.fileextensions
変数で指定されたファイルだけを読みます。で指定されたファイルだけが読み込まれます。 sources
で指定されたファイルは拡張子に関係なく読み込まれます。
sourcesと sources.fileextensionsも参照してください。
ソースエンコーディング
sourceencoding
変数はソースコードとドキュメントに使われるエンコーディングを指定します。
sourceencoding = UTF-8
デフォルトでは、ソース・エンコーディングはISO-8859-1
(Latin1) です。一部の言語、特に非ヨーロッパ言語では、これでは不十分で、UTF-8のようなエンコーディングが必要です。
QDocはソースファイルやドキュメントファイルの読み込みにエンコーディングを使用しますが、C++コンパイラの制限により、ソースコードのコメントで非ASCII文字を使用できない場合があります。このような場合、APIドキュメントを完全にドキュメント・ファイルに記述することが可能です。
naturallanguageおよびoutputencoding も参照してください。
ソース
sources
変数を使うと、sourcedirs変数で指定されたディレクトリにあるファイルに加えて、 個々のソース・ファイルを指定することができる。
sources = $QTDIR/src/gui/widgets/qlineedit.cpp \ $QTDIR/src/gui/widgets/qpushbutton.cpp
sources
変数を処理するとき、QDocはsourcedirs変数を処理するときと同じように動作する。詳細については、sourcedirs変数を参照してください。
sourcedirsも参照のこと。
ソース.ファイル拡張子
sources.fileextensions
変数は、ソース ディレクトリ内のファイルをフィルタリングします。
変数 sourcedirs
変数で指定されたソース・ファイルを処理するとき、QDoc はsources.fileextensions
変数で指定された fileextensions を持つファイルだけを読み込みます。こうすることで、QDocは無関係なファイルの読み込みに時間を費やさずに済む。
デフォルトの拡張子は*.c++, *.cc, *.cpp, *.cxx, *.mm, *.qml, *.qdocです。
拡張子は標準的なワイルドカード式で指定される。ファイル拡張子は、'+=' を使用してフィルターに追加できます。例えば
sources.fileextensions += *.CC
警告 上記の代入は説明通りに動作しない場合があります。
スプリアス
spurious
変数は指定された QDoc 警告を出力から除外します。警告は標準的なワイルドカード表現を使って指定します。
spurious = "Cannot find .*" \ "Missing .*"
はQDocを実行するときに、これらの式のどちらかにマッチする警告が出力の一部にならないようにします。例えば、次のような警告は出力から除外されます:
src/opengl/qgl_mac.cpp:156: Missing parameter name
シンタックスハイライト
syntaxhighlighting
変数は、QDocが生成するドキュメントに引用されたソース・コードに対して、シンタックス・ハイライトを行うかどうかを指定します。
syntaxhighlighting = true
を指定すると、サポートされているすべてのプログラミング言語のシンタックスハイライトが有効になります。
タブサイズ
tabsize
変数はタブ文字のサイズを定義する。
tabsize = 4
を指定すると、タブ文字は4スペース分の大きさになります。この変数のデフォルト値は8で、指定する必要はない。
タグファイル
tagfile
、HTML生成時に書き込まれるDoxygenタグ・ファイルを指定します。
バージョン
version
変数はドキュメント化されたソフトウェアのバージョン番号を指定します。
version = 5.6.0
バージョン番号が指定された場合(変数 version
または versionsym
.qdocconf
変数を使用)、バージョン番号が指定された場合、対応する "version "コマン ドを使用することで、そのバージョン番号にアクセスできるようになります。
警告 Warning: ⦅version⦆コマンドの機能は完全には実装されていません。
versionsymも参照してください。
versionsym
versionsym
変数は、ドキュメント化されたソフトウェアのバージョン番号を定義する C++ プリプロセッサ・シンボルを指定する。
versionsym = QT_VERSION_STR
QT_VERSION_STR はqglobal.hで次のように定義されている。
#define QT_VERSION_STR "5.14.1"
バージョン番号が指定されたとき(バージョン番号の version
または versionsym
.qdocconf
変数を使用)、バージョン番号が指定された場合、その番号はドキュメントで使用するために対応する⦅version⦆コマンドからアクセスできます。
警告 注意: 〚version〛コマンドの機能は完全には実装されていません。現在のところ、生のHTMLコード内でのみ動作します。
を参照してください。
警告リミット
warninglimit
変数は許容される文書警告の最大数を設定します。この制限を超えた場合、QDocは通常通り処理を続けますが、警告回数をエラーコードとして終了します。制限を超えなかったか、warninglimit
が定義されていない場合、QDocプロセスは、他に重大なエラーがなかったと仮定して、0で終了します。
warninglimit
を0
に設定すると、どのような警告でも失敗を意味する。
注意: デフォルトではQDocは警告の制限を行いません。warninglimit.enabled = true
、または環境変数QDOC_ENABLE_WARNINGLIMIT
。
例えば
# Fail the documentation build if we have more than 100 warnings warninglimit = 100 warninglimit.enabled = true
warninglimit
変数は Qt 5.11 で導入されました。
©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。