このページでは

QML 向けの CMake 統合

Qt Qml は、QML モジュールやアプリケーションをビルドするための広範な CMake 統合機能を提供しています。

主要な CMake コマンド

qt_add_qml_module

qt_add_qml_moduleコマンドは、CMake 内で Qml モジュールを作成するための主要な機能です。このコマンドは、Qml 型の登録、リソースの埋め込み、プラグインの作成、および Qt のビルドシステムとの統合を処理し、Qml モジュールのあらゆる側面を宣言的に定義する手段を提供します。

qt_target_qml_sources

qt_target_qml_sourcesコマンドは、既存の QML モジュールターゲットに QML ファイルやリソースを追加します。これは、大規模なモジュールの整理や、ビルド構成に基づいて QML ファイルを条件付きでインクルードする場合に役立ちます。

qt_add_qml_plugin

qt_add_qml_pluginコマンドは、QML エンジンによって動的に読み込まれる QML プラグインライブラリを作成します。通常、qt_add_qml_module がプラグインの作成を自動的に処理しますが、この関数を使用すると、必要に応じてより低レベルの制御を行うことができます。

デプロイコマンド

qt_deploy_qml_imports

qt_deploy_qml_importsコマンドは、アプリケーションで使用されるすべての QML インポート(その依存関係を含む)を特定してデプロイします。これにより、必要なすべての QML モジュールとプラグインがアプリケーションに確実にパッケージ化されます。

qt_generate_deploy_qml_app_script

qt_generate_deploy_qml_app_scriptコマンドは、QML モジュール、プラグイン、およびその他のリソースを、アプリケーションバンドルまたはインストールディレクトリ内の適切な場所にコピーする処理を行う、プラットフォーム固有のデプロイメントスクリプトを生成します。

qt_import_qml_plugins

qt_import_qml_pluginsコマンドは、QML プラグインが静的ビルドされたアプリケーションに適切にリンクされるようにし、QML エンジンにプラグインを登録するために必要な初期化コードを生成します。

高度なコマンド

qt_generate_foreign_qml_types

qt_generate_foreign_qml_typesコマンドは、他のライブラリやモジュールで定義されている C++ 型の QML 型登録を作成します。これにより、ソースコードを変更することなく、サードパーティ製または Qt の型を QML から利用できるようになります。

qt_query_qml_module

qt_query_qml_moduleコマンドは、QML モジュールに関する情報(URI、バージョン、プラグインターゲット、型情報ファイルのパスなど)を取得します。これは、ビルドシステムのイントロスペクションやツール統合に役立ちます。

qt_target_compile_qml_to_cpp

qt_target_compile_qml_to_cppコマンドは、qmltc(QML 型コンパイラ)を使用して QML ファイルを C++ にコンパイルすることを可能にします。これにより、静的に既知の QML 型に対して、コンポーネントベースのインスタンス化に代わる選択肢が提供され、パフォーマンスが向上します。

qt_add_qml_preview

qt_add_qml_previewコマンドは、1つ以上のqt_add_qml_moduleターゲットから QML を読み込むが、それ自体が QML モジュールではない実行可能ターゲットに対して、qmlpreviewのライブリロード機能を設定します。 これにより、実行可能ファイルの QML ファイルをプレビューするために使用できる、追加の<target>_qmlpreview ビルドターゲットが作成されます。

CMake 変数とプロパティ

Qt Qml QML モジュールの動作を設定するための、いくつかの CMake 変数とプロパティが用意されています:

グローバル変数

Qt6 Qml の CMake グローバル変数は、プロジェクト内のすべての QML モジュールにわたるデフォルトの動作を制御します。これらには、出力ディレクトリ、キャッシュファイルの生成、およびツール統合に関する変数が含まれており、プロジェクト全体レベルで QML のコンパイル設定を構成することができます。

グローバルプロパティ

Qt6 Qml の CMake グローバルプロパティは、ビルドシステムによる QML モジュールの処理方法に影響を与え、リンターターゲットの構成やビルド時のコード生成などの側面をカスタマイズするために使用できます。

ソースファイルのプロパティ

Qt6 QMLにおけるCMakeのソースファイルプロパティを使用すると、モジュール内の個々のQMLファイルをきめ細かく制御できます。これらのプロパティを使用して、ファイルをシングルトンとしてマークしたり、コンパイル手順から除外したり、カスタム型名を指定したり、QML型システムにおけるその他のファイルごとの挙動を制御したりできます。

ターゲットプロパティ

Qt6 Qml の CMake ターゲットプロパティを使用すると、個々のターゲットの挙動を微調整できます。例えば、qmlpreviewターゲットの自動作成など、本来はプロジェクト全体で有効になるはずの挙動を、特定のターゲットに対して無効にするといったことが可能です。

CMakeポリシー

Qt Qml 後方互換性や動作を制御するためのいくつかの CMake ポリシーが定義されています。

QML 用の CMake ポリシー

「QML 向けの CMake ポリシー」ページでは、QML に関連するすべての CMake ポリシーの概要と、それらがモジュールの動作に与える影響について解説しています。ポリシーを使用することで、既存のプロジェクトとの互換性を維持しつつ、新しい動作を有効にすることができます。

「QML モジュール」、「qt_add_qml_module」、および「QML モジュールの作成」も参照してください 。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.