「CMake - qt add qml moduleコマンド」の版間の差分
(ページの作成:「== 概要 == このコマンドはQt 6.2で導入された。<br> <br><br> == QML型とQMLモジュールの登録 == QMLで使用する型を登録するためには、CMakeの<code>qt_add_qml_module</code>コマンドを使用して、QMLモジュールを定義する必要がある。<br> 次に、新しいモジュールにC++ヘッダを追加して、その中でQMLに公開する型を定義する。<br> <br><br> == qt_add_qml_moduleコマンド == qt_add_…」) |
|||
62行目: | 62行目: | ||
== qt_add_qml_moduleコマンドの引数 == | == qt_add_qml_moduleコマンドの引数 == | ||
==== TARGET (必須) ==== | |||
モジュールのターゲット名を指定する。<br> | |||
これはCMakeのターゲットを指定することにより、他のターゲットからリンクすることができる。<br> | |||
<br> | |||
==== URI (必須) ==== | |||
モジュールのURIを指定する。<br> | |||
例: "MyCompany.MyModule"<br> | |||
<br> | |||
QMLファイルは、このURIを使用してモジュールをインポートする。<br> | |||
<br> | |||
==== VERSION ==== | |||
モジュールのバージョンを指定する。<br> | |||
例: "1.0"<br> | |||
<br> | |||
バージョンを指定しない場合、プロジェクトのバージョンが使用される。<br> | |||
<br> | |||
==== QML_FILES ==== | |||
モジュールに含めるQMLファイルのリストを指定する。<br> | |||
指定したファイル群は、自動的にリソースにコンパイルされる。<br> | |||
<br> | |||
==== SOURCES ==== | |||
C++ソースファイルのリストを指定する。<br> | |||
指定したソースファイル群は、モジュールのコンパイルに使用される。<br> | |||
<br> | |||
==== HEADERS ==== | |||
ヘッダファイルのリストを指定する。<br> | |||
これは、public APIとして扱われるヘッダファイル群を指定する。<br> | |||
<br> | |||
==== RESOURCE_PREFIX ==== | |||
リソースのプレフィックスを指定する。<br> | |||
デフォルト値は、"/qt/qml/"である。<br> | |||
<br> | |||
これは、QMLファイルがリソースシステムでアクセスされる時のパスを決定するものである。<br> | |||
<br> | |||
==== OUTPUT_DIRECTORY ==== | |||
生成されたファイルの出力ディレクトリを指定する。<br> | |||
未指定の場合は、<code>${CMAKE_CURRENT_BINARY_DIR}</code>が使用される。<br> | |||
<br> | |||
==== IMPORT_PATH ==== | |||
インポートパスを追加する。<br> | |||
これは、QMLエンジンがモジュールを検索する場所である。<br> | |||
<br> | |||
==== DEPENDENCIES ==== | |||
このモジュールが依存する他のQMLモジュールを指定する。<br> | |||
<br> | |||
==== DESIGNER_SUPPORTED ==== | |||
Qt Creatorのデザイナにおいて、このモジュールをサポートするかどうかを指定する。<br> | |||
<br> | |||
==== CLASSNAME ==== | |||
モジュールのC++クラス名を指定する。<br> | |||
未指定の場合は、自動生成される。<br> | |||
<br> | |||
==== PLUGIN_TARGET ==== | |||
別のターゲットをプラグインとして使用する場合に指定する。<br> | |||
<br> | |||
==== ENABLE_TYPE_COMPILER ==== | |||
QMLコンパイラを有効にするかどうかを指定する。<br> | |||
デフォルトは有効である。<br> | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ: | [[カテゴリ:Qt]] |
2024年6月27日 (木) 03:34時点における版
概要
このコマンドはQt 6.2で導入された。
QML型とQMLモジュールの登録
QMLで使用する型を登録するためには、CMakeのqt_add_qml_module
コマンドを使用して、QMLモジュールを定義する必要がある。
次に、新しいモジュールにC++ヘッダを追加して、その中でQMLに公開する型を定義する。
qt_add_qml_moduleコマンド
qt_add_qml_moduleコマンドは、C++ソース、.qmlファイル、またはその両方からなるQMLモジュールを定義する。
モジュールの詳細が提供され、それらが一貫していることを保証する。
また、.qmlソースのキャッシュコンパイル、リソースの埋め込み、リンティングチェック、いくつかの重要なモジュールファイルの自動生成等の設定や調整も行う。
バージョンレスコマンドが無効の場合は、代わりにqt6_add_qml_module
コマンドを使用する必要がある。
qt_add_qml_module(
<ターゲット名>
URI <任意のURI>
[VERSION <任意のバージョン>]
[PAST_MAJOR_VERSIONS ...]
[STATIC | SHARED]
[PLUGIN_TARGET <プラグインターゲット名>]
[OUTPUT_DIRECTORY <出力先ディレクトリ>]
[RESOURCE_PREFIX <リソースプリフィックス>]
[CLASS_NAME <クラス名>]
[TYPEINFO <型情報名>]
[IMPORTS ...]
[OPTIONAL_IMPORTS ...]
[DEFAULT_IMPORTS ...]
[DEPENDENCIES ...]
[IMPORT_PATH ...]
[SOURCES ...]
[QML_FILES ...]
[RESOURCES ...]
[OUTPUT_TARGETS out_targets_var]
[DESIGNER_SUPPORTED]
[FOLLOW_FOREIGN_VERSIONING]
[NAMESPACE namespace]
[NO_PLUGIN]
[NO_PLUGIN_OPTIONAL]
[NO_CREATE_PLUGIN_TARGET]
[NO_GENERATE_PLUGIN_SOURCE]
[NO_GENERATE_QMLTYPES]
[NO_GENERATE_QMLDIR]
[NO_LINT]
[NO_CACHEGEN]
[NO_RESOURCE_TARGET_PATH]
[NO_IMPORT_SCAN]
[ENABLE_TYPE_COMPILER]
[TYPE_COMPILER_NAMESPACE namespace]
[QMLTC_EXPORT_DIRECTIVE export_macro]
[QMLTC_EXPORT_FILE_NAME header_defining_export_macro]
)
QMLモジュールを定義した例については、Building a QML applicationやBuilding a reusable QML moduleを参照すること。
QMLモジュールに関する情報がQML言語サーバに公開されるようにプロジェクトを設定する方法については、QT_QML_GENERATE_QMLLS_INIを参照すること。
qt_add_qml_moduleコマンドの引数
TARGET (必須)
モジュールのターゲット名を指定する。
これはCMakeのターゲットを指定することにより、他のターゲットからリンクすることができる。
URI (必須)
モジュールのURIを指定する。
例: "MyCompany.MyModule"
QMLファイルは、このURIを使用してモジュールをインポートする。
VERSION
モジュールのバージョンを指定する。
例: "1.0"
バージョンを指定しない場合、プロジェクトのバージョンが使用される。
QML_FILES
モジュールに含めるQMLファイルのリストを指定する。
指定したファイル群は、自動的にリソースにコンパイルされる。
SOURCES
C++ソースファイルのリストを指定する。
指定したソースファイル群は、モジュールのコンパイルに使用される。
HEADERS
ヘッダファイルのリストを指定する。
これは、public APIとして扱われるヘッダファイル群を指定する。
RESOURCE_PREFIX
リソースのプレフィックスを指定する。
デフォルト値は、"/qt/qml/"である。
これは、QMLファイルがリソースシステムでアクセスされる時のパスを決定するものである。
OUTPUT_DIRECTORY
生成されたファイルの出力ディレクトリを指定する。
未指定の場合は、${CMAKE_CURRENT_BINARY_DIR}
が使用される。
IMPORT_PATH
インポートパスを追加する。
これは、QMLエンジンがモジュールを検索する場所である。
DEPENDENCIES
このモジュールが依存する他のQMLモジュールを指定する。
DESIGNER_SUPPORTED
Qt Creatorのデザイナにおいて、このモジュールをサポートするかどうかを指定する。
CLASSNAME
モジュールのC++クラス名を指定する。
未指定の場合は、自動生成される。
PLUGIN_TARGET
別のターゲットをプラグインとして使用する場合に指定する。
ENABLE_TYPE_COMPILER
QMLコンパイラを有効にするかどうかを指定する。
デフォルトは有効である。