概要
qt_finalize_executableコマンドは、Qt 6で導入された新しいCMakeのコマンドである。
このコマンドは、Qtアプリケーションのビルドプロセスの最後に呼び出される。
qt_finalize_executableコマンドは、ターゲット (実行可能ファイル) が定義された後に呼び出す必要があることに注意する。
qt_finalize_executableコマンドを使用するには、CMake 3.16以降が必要である。
qt_finalize_executableコマンドの意味
qt_finalize_executableコマンドは、主に、実行可能ファイルに必要なQt関連のリソースや依存関係を設定するために使用される。
例えば、Windowsの場合は、必要なDLLを実行可能ファイルと同じディレクトリにコピーする等の処理を行う。
MacOSの場合は、.appバンドルの設定を行う。
qt_finalize_executableコマンドの設定
qt_finalize_executableコマンドは、Qt 6 Coreコンポーネントで定義されている。
find_package(Qt6 REQUIRED COMPONENTS Core)
引数MANUAL_FINALIZATION (存在する場合) 以外の全ての引数は、標準のCMake add_executableコマンドに渡される。
qt_add_executable(<プロジェクトのターゲット名>
[WIN32] [MACOSX_BUNDLE]
[MANUAL_FINALIZATION]
<ソースファイル 1>
<ソースファイル 2>
# ...略
)
# または
qt_add_executable(<プロジェクトのターゲット名>)
以下の例では、ファイナライズは自動的に処理される。
CMake 3.18以前を使用している場合、ファイナライズは呼び出しの一部として即座に実行される。
CMake 3.19以降を使用している場合、ファイナライズは現在のディレクトリスコープの最後で行われる。
qt_add_executable(SampleApp)