「CMake - Qtコマンド」の版間の差分
		
		
		
		
		
		ナビゲーションに移動
		検索に移動
		
				
		
 
		
	
タグ: 差し戻し済み  | 
				編集の要約なし タグ: 手動差し戻し  | 
				||
| 159行目: | 159行目: | ||
**: <br>  | **: <br>  | ||
**: qt_add_resourcesコマンドは、特殊ターゲットの名前を指定された変数に格納する。  | **: qt_add_resourcesコマンドは、特殊ターゲットの名前を指定された変数に格納する。  | ||
<br><br>  | <br><br>  | ||
2024年6月24日 (月) 07:34時点における版
概要
Qt6 CoreのCMakeコマンド
Qt6 CoreのCMakeコマンド一覧
下表のCMakeコマンドは、Qt6::Coreが読み込まれた時に定義される。
 find_package(Qt6 REQUIRED COMPONENTS Core)
| CMakeコマンド | 説明 | 
|---|---|
| qt_add_big_resources | 大きなバイナリリソースをオブジェクトコードにコンパイルする。 | 
| qt_add_binary_resources | QtリソースファイルのリストからRCCファイルを生成する。 | 
| qt_add_executable | プラットフォーム固有のタイプのアプリケーションターゲットを生成および確定する。 | 
| qt_add_library | ライブラリを生成および確定する。 | 
| qt_add_plugin | Qtプラグインターゲットを生成する。 | 
| qt_add_resources | バイナリリソースをソースコードにコンパイルする。 | 
| qt_allow_non_utf8_sources | ソースファイルがWindows用のUTF-8として強制的に扱われるのを防ぐ。 | 
| qt_android_add_apk_target | androiddeployqtを実行して、APKを生成するビルドターゲットを定義する。 | 
| qt_android_apply_arch_suffix | ターゲットバイナリの名前にアーキテクチャ固有のサフィックスを含めるように設定する。 | 
| qt_android_generate_deployment_settings | androiddeployqtが必要とするデプロイ設定ファイルを生成する。 | 
| qt_deploy_qt_conf | デプロイ時に、qt.confファイルを書き込む。 | 
| qt_deploy_runtime_dependencies | 実行ファイルに必要なQtプラグイン、Qtライブラリ、非Qtライブラリをデプロイする。 | 
| qt_deploy_translations | 実行ファイルが必要とするQtの翻訳をデプロイする。 | 
| qt_disable_unicode_defines | ユニコード関連のコンパイラ定義がターゲット上で自動的に設定されるのを防ぐ。 | 
| qt_extract_metatypes | Qtターゲットからmetatypesを抽出して、関連するmetatypes.jsonファイルを生成する。 | 
| qt_finalize_project | Qtプロジェクトに関連するプラットフォーム固有のタスクを処理する。 | 
| qt_finalize_target | Qtターゲットに関連するプラットフォーム固有のタスクを処理する。 | 
| qt_generate_deploy_app_script | アプリケーションのデプロイスクリプトを生成する。 | 
| qt_generate_deploy_script | カスタムデプロイスクリプトを生成する。 | 
| qt_generate_moc | 入力ファイルに対して、mocを呼び出す。 | 
| qt_import_plugins | インポートあるいは除外するプラグインのカスタムセットを指定する。 | 
| qt_policy | QtのCMake APIのデフォルトの振る舞いを変更する。 | 
| qt_set_finalizer_mode | ターゲットのファイナライズをカスタマイズする。 | 
| qt_standard_project_setup | プロジェクト全体のデフォルトを標準的な配置に設定する。 | 
| qt_wrap_cpp | ソースからmocファイルを生成する。 | 
qt_add_resources / qt6_add_resources
バイナリリソースをソースコードにコンパイルするコマンドである。
リソースを追加するには、コマンドの第1引数に変数名かターゲットを渡す。
第1引数に変数名を渡すと、qt_add_resourcesコマンドはリソースコンパイラ(rcc)を使用してQtリソースファイルからソースコードを生成する。
生成されたソースファイルへのパスは、<VAR>に追加される。
第1引数としてターゲットを渡すと、関数は指定された<FILES>を含む<RESOURCE_NAME>という名前のリソースを生成する。
リソースは自動的に<TARGET>にリンクされる。
Qtリソースの詳細を知りたい場合は、Qtの公式ドキュメントを参照すること。
 # Qt 5
 qt_add_resources(<VAR> file1.qrc file2.qrc ...
                  [OPTIONS ...])
 
 # Qt 6
 qt_add_resources(<TARGET> <RESOURCE_NAME>
                  [PREFIX <PATH>]
                  [LANG <LANGUAGE>]
                  [BASE <PATH>]
                  [BIG_RESOURCES]
                  [OUTPUT_TARGETS <VARIABLE_NAME>]
                  [FILES ...] [OPTIONS ...]
 )
 
 # Qt 6 (バージョンレスコマンドが無効になっている場合)
 qt6_add_resources(<TARGET> <RESOURCE_NAME>
                   [PREFIX <PATH>]
                   [LANG <LANGUAGE>]
                   [BASE <PATH>]
                   [BIG_RESOURCES]
                   [OUTPUT_TARGETS <VARIABLE_NAME>]
                   [FILES ...] [OPTIONS ...]
 )
 # 使用例
 
 # .qrcファイルを使用した変数を使用する場合
 set(SOURCES main.cpp)
 qt_add_resources(SOURCES
    example.qrc
 )
 qt_add_executable(<プロジェクト名>
    ${SOURCES}
 )
 
 # 即時リソースを使用してターゲット名を指定する場合
 qt_add_executable(<プロジェクト名>
    main.cpp
 )
 qt_add_resources(<プロジェクト名> "images"
                  PREFIX "/images"
                  FILES image1.png image2.png
 )
- ターゲット名を指定する場合のバリアントの引数
- <PREFIX>
- このリソースの全てのファイルが、C++ソースコードからアクセスできるようにするためのパス接頭辞を指定する。
 - これは、.qrcファイル形式のXML属性プレフィックスに対応する。
 - <PREFIX>を指定しない場合、ターゲットプロパティQT_RESOURCE_PREFIXが使用される。
 - Qt 6.5以降、PREFIXはオプションである。
 - もし、PREFIXが省略されて、かつ、QT_RESOURCE_PREFIXで指定しない場合は、"/"がデフォルトのパス接頭辞として使用される。
 
 - <LANG>
- このリソースのロケールを指定する。
 - これは、.qrcファイル形式のXML属性langに対応する。
 
 - <BASE>
- ファイルのエイリアスのルートポイントを示すパスプレフィックスである。
 - 例えば、<BASE>が"assets"、<FILES>が"assets/images/logo.png"の場合、そのファイルのエイリアスは、"images/logo.png"となる。
 - ファイルのエイリアス設定は、<QT_RESOURCE_ALIAS>ソースファイルプロパティで設定する必要がある。
 
 - BIG_RESOURCES
- ビッグリソースのサポートを有効にできる。
 - これは、C++ソースコードの代わりにオブジェクト・ファイル (.o .obj) を直接生成する。
 - これにより、生成されたC++ソースをコンパイルすることなく、より大きなリソースを埋め込むことができる。
 - <BIG_RESOURCES>は、CMakeのXcodeプロジェクトジェネレータの制限によりiOSと互換性が無いことに注意する。
 - また、<BIG_RESOURCES>は、CMake 3.17以降でのみ動作する。
 - 静的ライブラリでこのコマンドを使用する場合、1つ以上の特別なターゲットが生成される。
 - これらのターゲットに対して追加の処理を行う場合は、<OUTPUT_TARGETS>パラメータに変数名を渡す。
 - qt_add_resourcesコマンドは、特殊ターゲットの名前を指定された変数に格納する。
 
 
 - <PREFIX>