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 CMakeは、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) を選択します。
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に設定してみてください。

Windows でのジャンクション・ポイントの使用
Windows での長いパスの問題を解決するには、ソースディレクトリとビルドディレクトリにジャンクションポイントを作成して使用します。ジャンクション・ポイントでは、あるディレクトリーがコンピューター上の別のディレクトリーへのエイリアスとして機能します。
CMake の configure、build、install 操作でジャンクションポイントを使用するには、Preferences>CMake >General に移動し、Use junctions for CMake configuration and build operations.

Qt Creator のジャンクションポイントをC:\ProgramData\QtCreator\Links に保存します。別のパスを使用するには、QTC_CMAKE_JUNCTIONS_DIR 環境変数の値として設定します。
MD5ハッシュ・キーの長さをデフォルトの32から短くするには、QTC_CMAKE_JUNCTIONS_HASH_LENGTH 環境変数を設定します。
CMake のビルド手順
Qt Creator を実行して CMake プロジェクトをビルドし、cmake . --build を実行してプロジェクト構成で指定された CMake ジェネレーターを実行します:make例えば、mingw32-make 、nmake 、またはninja 。CMake ジェネレーターは、Qt Creator 用のプロジェクト・ファイルを生成します。マルチ・コンフィギュレーション・ジェネレーターもサポートされています。
CMake とジェネレーターに渡す引数と、ビルドコマンドのターゲットをBuild Steps に追加できます。

注意: 他のCMakeジェネレータはQtと一緒にインストールされますが、Ninjaは通常自分でインストールする必要があります。
クロスコンパイル時にステージングディレクトリにアプリケーションをインストールするには、Stage for installation を選択し、Staging directory フィールドにディレクトリへのパスを指定します。パッケージングツールはディレクトリの内容からパッケージを構築する。
忍者を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: Build with 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.