CMake - qt add qml moduleコマンド

提供:MochiuWiki : SUSE, EC, PCB
2024年6月27日 (木) 03:17時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == このコマンドは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_…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要

このコマンドは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 applicationBuilding a reusable QML moduleを参照すること。
QMLモジュールに関する情報がQML言語サーバに公開されるようにプロジェクトを設定する方法については、QT_QML_GENERATE_QMLLS_INIを参照すること。


qt_add_qml_moduleコマンドの引数