このページでは

CMake を使用したプロジェクトのビルド

手順:CMake を使用したビルド

選択したキットのビルド設定を指定するには、[Projects ] > [Build Settings] に移動します。

Qt Creator で中規模から大規模の CMake プロジェクトを設定するには、プロジェクトを正しく設定するために CMake に渡す必要のある変数の数が多いため、困難を伴う場合があります。この作業を容易にするため、Qt Creator はキット設定に基づいて初期設定を作成し、プロジェクトの「Build Settings 」にある「Initial Configuration 」に表示します。あるいは、CMake プリセットを使用して CMake を設定することもできます。

Configure 」フィールドには、「Build directory 」および「Build type 」フィールドの値を用いてQt Creator が生成した、実際に実行されるCMake呼び出しが表示されます。

CMake の configure コマンド

Additional CMake options 」では、「--find-debug 」、「--trace-expand 」、または「--warn-uninitialized 」などの追加のCMakeオプションを指定できます。オプションの詳細については、フィールド名のリンクを選択するか、CMake: cmake(1)を参照してください。

Kit Configuration 」を選択すると、プロジェクトで選択されたビルドおよび実行キットの CMake 設定を編集できます。

CMake プリセットファイルを使用すると、一般的な設定、ビルド、およびテストのオプションを指定し、他のユーザーと共有することができます。

初期設定

CMakeの初期設定

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

現在の設定

現在の CMake 設定

Current Configuration では、.cmake/api/v1/reply ディレクトリ内のcmake-file-api というJSONエクスポートファイルに含まれるCMake変数が一覧表示されます。初期設定由来の変数はイタリック体で、値が一致しないものは赤色で表示されます。

Run CMake 」ボタンを選択すると、Qt Creator から CMake に渡される変数の実際の値を確認・変更できます。「Key 」列には変数名が一覧表示され、「Value 」列にはそれらの現在の値が一覧表示されます。 変数に関する詳細については、コンテキストメニューから「Help 」を選択するか、CMake: cmake-variables(7) を参照してください。Qt XML固有の変数に関する詳細については、『CMake Variable Reference』を参照してください。

マルチコンフィグのサポート

Qt Creator は、Xcode、Visual Studio、Ninja Multi-Config などのマルチコンフィグジェネレータをサポートしています。これにより、CMake の設定は 1 回だけで済み、ビルドディレクトリも 1 つだけで済むため、ビルドタイプの切り替えをより迅速に行うことができます。

ただし、これは同時に、Qt Creator が最初のCMakeファイルAPI JSONエクスポートを単純に解析できなくなったことも意味します。そのため、単一構成ジェネレータ(Ninja、Makefile)が使用するジェネレータを決定するには、Build type フィールドの値がCMAKE_BUILD_TYPE 変数の値と一致している必要があります。

iOS向けQt 6での開発においては、Xcodeジェネレータのみがサポートされています。

変数値の変更

Initial Configuration またはCurrent Configuration で、CMake に渡される変数の実際の値を表示・編集できます。

現在の CMake 設定

複数の変数を選択して、それらに対してアクションを適用することができます。選択を解除するには、ビュー内の任意の場所をクリックしてください。

変数値を一括編集するには、[Batch Edit] を選択します。

「CMake 設定の編集」ダイアログ

現在の設定を使用してビルドするには、Run CMake を選択します。ビルド中は、ボタンのテキストがStop CMake に変わります。このボタンを選択すると、現在のビルドをキャンセルできます。

変数の追加

変数を追加するには、[Add] を選択し、追加する変数のタイプ(BooleanStringDirectory 、または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 の環境設定にある「一般」タブ

初期変数での再設定

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の出力

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_FORCE1に設定して、CMake の出力を ANSI カラーで表示します。これにより、プロセスの出力に影響が出る可能性があります。

出力が正しく表示されない場合や、以前のQt Creator バージョンとは異なって見える場合は、Use Build EnvironmentCLICOLOR_FORCE0に設定してみてください。

CLICOLOR_FORCE を設定したビルド環境

CMakeのビルド手順

Qt Creator は、cmake . --build を実行することで CMake プロジェクトをビルドします。これにより、プロジェクト設定で指定された CMake ジェネレータ(例:makemingw32-makenmake 、またはninja )が実行されます。CMake ジェネレータは、Qt Creator 用のプロジェクトファイルを生成します。マルチコンフィグ・ジェネレータもサポートされています。

Build Steps では、CMake やジェネレータに渡す引数、およびビルドコマンドのターゲットを追加できます。

CMakeのビルド手順

注: 他の CMake ジェネレータは Qt とともにインストールされますが 、Ninja は通常、ユーザー自身でインストールする必要があります。

アプリケーションをステージングディレクトリにインストールするには、Install into staging directory を選択し、ステージングディレクトリへのパスを指定します。 このオプションは、DESTDIR を指定されたディレクトリに設定して、CMake のinstall ターゲットを実行します。デプロイ構成のターゲットの場所は影響を受けません。たとえば、リモートのターゲットデバイス向けに開発を行っており、ビルドデバイスのシステムディレクトリにインストールしたくない場合や、ビルドデバイス上で異なるビルド構成ごとに個別のインストールディレクトリを使用したい場合などに、このオプションを使用します。

CMakeジェネレータとしてのNinjaの使用

CMake でNinjaを使用するには、Ninja をインストールし、ビルドおよび実行キットで CMake ジェネレータとして選択する必要があります:

  1. Ninjaをインストールします。
  2. Ninja 実行ファイルへのパスを、システム変数 PATH の値に追加します。
  3. Projects 」>「Build Settings 」に移動し、「Kit Configuration 」を選択します。

    Kit CMake 設定ダイアログ

  4. CMake generator 」フィールドの横にある「Change 」を選択して、「CMake Generator 」ダイアログを開きます。

    「CMake ジェネレータ」ダイアログ

  5. Generator 」で、「Ninja 」を選択します。
  6. OK 」を選択して変更を保存し、ダイアログを閉じます。
  7. Close 」を選択して、「Kit CMake Configuration 」ダイアログを閉じ、「Build Settings 」に戻ります。

注: 変更後に初めてプロジェクトをビルドする際、古いビルド成果物が邪魔にならないようにするには Build に移動し、Rebuild Project を選択してください。これにより、ビルドディレクトリがクリーンアップされ、新しいビルドが実行されます。

パッケージマネージャーでの CMake の使用

CMakeで使用するためにConanまたはvcpkgパッケージマネージャーを自動的に設定するには:

  1. プロジェクトのソースディレクトリ内に、conanfile.txtconanfile.py 、またはvcpkg.json ファイルから依存関係をインストールするCMakeスクリプトファイルを作成します。
  2. CMAKE_PROJECT_INCLUDE_BEFORE 変数の値として、そのスクリプトへのパスを設定します。
  3. Preferences 」>「CMake 」>「General 」の順に移動し、「Package manager auto setup 」を選択します。

QTC_RUN 環境変数

Qt Creator は、cmake プロセスを実行する際に、環境変数QTC_RUN1 に設定します。

これにより、CMake コードは、Qt Creator から実行されているかどうかを検知できるようになります。

CMake のクリーン処理

CMake を使用してビルドする場合、Clean Steps 内の clean コマンドの引数として、CMake やジェネレータ、ターゲットに渡す引数を追加できます。

CMakeのクリーン処理の手順

ビルドエラーや警告は解析され、「Issues」に表示されます。

関連項目: プロジェクトのキットの有効化カスタム出力パーサーの追加ビルド用のプロジェクトの設定実行用のプロジェクトの設定手順: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.