qt_finalize_target

Qt ターゲットに関連するプラットフォーム固有のタスクを処理します。

このコマンドはQt6 パッケージのCore コンポーネントで定義されています:

find_package(Qt6 REQUIRED COMPONENTS Core)

このコマンドは Qt 6.2 で導入されました。

概要

qt_finalize_target(target)

バージョンレスコマンドが無効になっている場合、代わりにqt6_finalize_target() を使用してください。このコマンドと同じ引数セットをサポートしています。

説明

ターゲットが作成された後、さらなる処理や最終化のステップが必要になることがあります。実行するステップは、プラットフォーム、ターゲットのタイプ、およびターゲットの様々なプロパティに依存する。これらのステップは、target が作成されたディレクトリスコープと同じディレクトリスコープ内で実行されることが期待されるため、このコマンドも同じディレクトリスコープから呼び出す必要がある。

このコマンドは通常、qt_add_executable()qt_add_library()qt_add_plugin()の呼び出しの一部として呼び出されます。その呼び出しが行われるタイミングと、プロジェクトが明示的に呼び出す必要があるタイミングについては、これらのコマンドのドキュメントで説明されています。

実行可能ターゲット

実行可能なターゲットでは、qt_finalize_target() 、以下のサブセクションで説明するロジックを実装します。Qt の後のリリースでは、ファイナライズの処理がさらに拡張される可能性があります。

すべてのプラットフォーム

Qt プラグインの自動リンクを容易にするために、いくつかの内部処理が実行されます。これは、静的にビルドされた Qt や、3.21 より前のバージョンの CMake を使用している場合に特に重要です。

Android

  • target 用のデプロイメント設定ファイルを生成します。
  • APK を生成するためのビルドターゲットを作成します。

WASM

${target}.html (ターゲット固有のwasm_shell.html ファイル)、qtloader.js 、およびqtlogo.svg ファイルをCMAKE_CURRENT_BINARY_DIR に作成します。

iOS

Finalization は、以下のターゲットプロパティがまだ設定されておらず、対応するCMAKE_... 変数も設定されていない場合、そのプロパティに適切な値を提供しようとします:

  • XCODE_ATTRIBUTE_DEVELOPMENT_TEAM
  • XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER
  • MACOSX_BUNDLE_GUI_IDENTIFIER

必要であれば、QT_NO_SET_XCODE_DEVELOPMENT_TEAM_ID変数を使用してXCODE_ATTRIBUTE_DEVELOPMENT_TEAM の設定を無効にし、QT_NO_SET_XCODE_BUNDLE_IDENTIFIER変数を使用してXCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIERMACOSX_BUNDLE_GUI_IDENTIFIER の設定を無効にすることができます。

ライブラリターゲット

このバージョンの Qt では、ライブラリ・ターゲットのファイナライゼーションは何も行いません。将来の Qt バージョンでは、ライブラリのファイナライゼーション処理が追加される可能性があります。

qt_set_finalizer_mode()も参照してください

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。