CMakeでプロジェクトをビルドする
選択したキットのビルド設定を指定するには、Projects >Build Settings に進んでください。
Qt Creator で中規模から大規模の CMake プロジェクトを設定するのは、プロジェクトを正しく設定するために CMake に渡す必要がある変数の数が多いため、困難な場合があります。これを簡単にするために、Qt Creator はキットの環境設定に基づいて初期設定を作成し、Initial Configuration のプロジェクトのBuild Settings に表示します。または、CMake プリセットを使用して CMake を設定することもできます。
Configure フィールドには、Build directory とBuild type フィールドの値を使用してQt Creator が構築する有効な CMake 呼び出しが表示されます。

Additional CMake options には、--find-debug 、--trace-expand 、--warn-uninitialized などの追加の CMake オプションを指定できます。オプションの詳細については、フィールド名のリンクを選択するか、CMake: cmake(1) を参照してください。
Kit Configuration を選択して、プロジェクトで選択したビルド・実行キットの CMake 設定を編集します。
CMakeプリセットファイルを使用して、共通のconfigure、build、testオプションを指定し、他の人と共有することができます。
初期設定

Initial Configuration には、Qt Creator が初めて CMake プロジェクトを設定する際に使用する変数が一覧表示されます。キットの CMake 設定に由来するデフォルト値はイタリック体で表示されます。Qt Creator は、プロジェクトのソースディレクトリ下のディレクトリ.qtcreator にあるファイルCMakeLists.txt.user に、変数の初期設定リストを保存します。
現在のコンフィギュレーション

Current Configuration は、.cmake/api/v1/reply ディレクトリのcmake-file-api JSON エクスポート内の CMake 変数を一覧表示します。初期設定に由来する変数はイタリック体で、不一致の値は赤で表示されます。
Run CMake ボタンを選択すると、Qt Creator が CMake に渡す変数の実際の値を表示したり変更したりできます。Key 列に変数名が、Value 列に現在の値が表示されます。変数の詳細については、コンテキストメニューからHelp を選択するか、CMake: cmake-variables(7) を参照してください。Qt 固有の変数の詳細については、CMake Variable Reference を参照してください。
マルチコンフィグサポート
Qt Creator Xcode、Visual Studio、Ninja Multi-Config などのMulti-config ジェネレーターをサポートします。これは、CMakeを一度だけ設定し、ビルドディレクトリを1つだけ持つ必要があり、ビルドタイプをより速く切り替えることができることを意味します。
しかし、これはまた、Qt Creator 、最初のCMakeファイル-api JSONエクスポートを単純にパースできなくなったことを意味します。したがって、Build type フィールドの値は、どのジェネレーターを使用するかを決定するために、単一のコンフィギュレーション・ジェネレーター(Ninja、Makefile)用の変数CMAKE_BUILD_TYPE の値と一致する必要があります。
Qt 6 for iOS で開発する場合、Xcode ジェネレータのみがサポートされます。
変数値の変更
Initial Configuration またはCurrent Configuration で、CMake に渡される変数の実際の値を見たり編集したりすることができます。

複数の変数を選択し、それらにアクションを適用することができます。選択範囲をクリアするには、ビューのどこかをクリックします。
変数値を一括編集するには、Batch Edit を選択します。

現在の設定を使用してビルドするには、Run CMake を選択します。Stop CMake現在のビルドをキャンセルするには、このボタンを選択します。
変数の追加
変数を追加するには、Add を選択し、追加する変数のタイプを選択します:Boolean String,Directory, またはFile 。
選択した変数のタイプを変更するには、Key 列の変数名を右クリックし、コンテキスト・メニューからForce to bool 、Force to file 、Force to directory 、Force to string を選択する。
選択した変数の名前または値をクリップボードにコピーするには、コンテキスト・メニューからCopy を選択する。
変数値の変更
変数の値を変更するには、その変数をダブルクリックするか、選択してからEdit を選択する。初期構成、現在の構成、およびキット構成が同期していない場合は、Initial Configuration またはCurrent Configuration のコンテキストメニューからApply Kit Value またはApply Initial Configuration Value を選択します。
行った変更をすべてリセットするには、Reset を選択します。
変更した変数値は-D<option>=<value> を経由して CMake に渡され、CMake はそのオプションをCMakeCache.txt ファイルに保存します。つまり、ビルドディレクトリを削除すると、CMake の初期設定に含まれていないカスタム変数もすべて削除されます。
変更した変数値を使用してプロジェクトを再設定するには、Build にアクセスし、Clear CMake Configuration を選択して、CMakeCache.txt ファイルを削除します。これにより、完全な再構築が可能になります。
変数の削除
選択した変数を削除するには、Unset を選択します。削除を取り消すには、Set を選択します。
高度な変数の表示
すべての変数を表示するには、Advanced を選択します。
デフォルトですべての変数を表示するには、Preferences >CMake >General と進み、Show advanced options by default を選択します。

初期変数での再設定
CMake の変数を初期値に戻すには、Initial Configuration でRe-configure with Initial Variables を選択します。Qt Creator は現在の CMake 設定を削除し、CMake を実行します。初期設定の値はCMakeLists.txt.user ファイルに保存されているので、ビルドディレクトリを削除しても初期設定は削除されません。
Qt Creator が変更をリセットする前に確認するには、Preferences >CMake >General と進み、Ask before re-configuring with initial parameters を選択します。
CMake 出力の表示
CMake からの出力は、Projects モードのBuild Settings 、Deploy Settings 、Run Settings タブの横に表示されます。

CMake からの出力をクリアするには、
(Clear) を選択します。
CMake を実行するときに常に古い出力をクリアするには、Preferences >CMake >General と進み、Clear old CMake output on a new run を選択します。
Filter フィールドに文字列を入力すると、出力をフィルタリングできます。フィルタリングオプションを指定するには、
を選択します。正規表現または大文字と小文字を区別することで、出力をフィルタリングできます。フィルタに一致する行を非表示にするには、Show Non-matching Lines を選択します。表示する前後の行数を設定することもできます。
出力中の文字列を検索するにはCtrl+F を選択します。
出力のテキスト・サイズを拡大または縮小するには、
(Zoom In) またはCtrl++または
(Zoom Out) またはCtrl+- を選択します。
出力を非表示にするには、
(Hide Right Sidebar) またはAlt+Shift+0 を選択します。
CLICOLOR_FORCE環境変数
Qt Creator 環境変数CLICOLOR_FORCE を1に設定すると、CMake の ANSI カラー出力が表示されます。これはプロセスの出力に影響を与えるかもしれません。
出力が正しくなかったり、以前のQt Creator バージョンと異なって見える場合は、Use Build Environment でCLICOLOR_FORCE を0に設定してみてください。

CMake のビルド手順
Qt Creator を実行して CMake プロジェクトをビルドします。cmake . --build を実行して、プロジェクト構成で指定された CMake ジェネレーターを実行します:make例えば、mingw32-make 、nmake 、ninja 。CMake ジェネレーターは、Qt Creator 用のプロジェクト・ファイルを生成します。マルチ・コンフィギュレーション・ジェネレーターもサポートされています。
CMake とジェネレーターに渡す引数と、ビルドコマンドのターゲットをBuild Steps に追加できます。

注意: 他のCMakeジェネレータはQtと一緒にインストールされますが、Ninjaは通常自分でインストールする必要があります。
ステージング・ディレクトリにアプリケーションをインストールするには、Install into staging directory を選択し、ステージング・ディレクトリへのパスを指定します。このオプションは、DESTDIR を指定したディレクトリに設定して、CMake のinstall ターゲットを実行します。デプロイメント設定のターゲットの場所は影響を受けません。このオプションは、リモートターゲットデバイス向けに開発していて、ビルドデバイスのシステムディレクトリにインストールしたくない場合や、ビルドデバイス上でビルド構成ごとに別々のインストールディレクトリを使用したい場合などに使用します。
NinjaをCMakeジェネレータとして使う
NinjaをCMakeで使用するには、Ninjaをインストールし、ビルド&ランキットでCMakeジェネレータとして選択する必要がある:
- Ninjaをインストールする。
- Ninjaをインストールし、PATHシステム変数にNinja実行ファイルへのパスを追加する。
- Projects >Build Settings にアクセスし、Kit Configuration を選択する。

- CMake generator フィールドの隣にあるChange を選択し、CMake Generator ダイアログを開く。

- Generator で、Ninja を選択する。
- OK を選択して変更を保存し、ダイアログを閉じます。
- Close を選択してKit CMake Configuration ダイアログを閉じ、Build Settings に戻る。
注: 変更後に初めてプロジェクトをビルドするときに、古いビルド・アーティファクトが邪魔にな らないようにするには、Build にアクセスして、Rebuild Project を選択します。これにより、ビルドディレクトリがクリーンアップされ、新しいビルドが実行されます。
パッケージマネージャでCMakeを使う
Conanまたはvcpkgパッケージマネージャを CMake で使用するように自動的にセットアップします:
- プロジェクトのソース・ディレクトリにある
conanfile.txt、conanfile.py、またはvcpkg.jsonファイルから依存関係をインストールする CMake スクリプト・ファイルを作成します。 - スクリプトへのパスを
CMAKE_PROJECT_INCLUDE_BEFORE変数の値として設定します。 - Preferences >CMake >General と進み、Package manager auto setup を選択します。
QTC_RUN 環境変数
Qt Creator は、cmake プロセスを実行するときに、環境変数QTC_RUN を1 に設定します。
これにより、CMakeコードがQt Creator から実行されているかどうかを検出できるようになります。
CMakeクリーンステップ
CMake でビルドするとき、Clean Steps に、CMake に渡す引数と、clean コマンドのジェネレーターとターゲットを追加できます。

ビルドエラーと警告は解析され、Issuesに表示されます。
プロジェクトのキットを有効にする,カスタム出力パーサーを追加する,ビルドのためのプロジェクトを設定する,実行するためのプロジェクトを設定する,How to:CMake でのビルド」、「プロジェクトを開く」、「CMake.
Copyright © The Qt Company Ltd. and other contributors. 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.