CLion 2024.1 ヘルプ

CMake プリセット

CMake プリセット(英語)は、次の 2 つのファイルを使用して CMake オプションを構成および共有する方法です。

  • プロジェクトごとのビルド用の CMakePresets.json。このファイルは VCS 経由で共有できます。

  • 開発者自身のローカルビルド用の CMakeUserPresets.json。このファイルは VCS にチェックインしないでください。

CMakePresets.jsonCMakeUserPresets.json はどちらも同じ形式であり、プロジェクトのルートディレクトリに配置する必要があります。

CMake プロファイルには、CMake プリセットと共通の多くの設定があり、VCS を介して共有することもできます。主な違いは、プロファイルが CLion ツールチェーンを参照していることです。CLion ツールチェーンには、CMake プリセット(デバッガーや環境設定など)には存在せず、必要とされない情報が含まれています。

プリセットのインポート

プロジェクトを開くと、CLion はプロジェクトルートにある CMakePresets.json および CMakeUserPresets.json ファイル内のすべてのビルドおよび構成プリセットを検出します。デフォルトでは、それらはすべて読み取り専用モードで CMake プロファイルに自動的にロードされます。

ロードされたプリセットを表示するには、設定 | ビルド、実行、デプロイ | CMake に移動するか、通知ダイアログの表示リンクを使用します。

Presets loaded notification
  • 以前にロードして有効にしたことがない限り、すべての新しいプリセットはデフォルトで無効になっています(CLion は名前でそれらと一致します)。

  • 以前にロードされたプリセットはすべて、CMakePresets.json または CMakeUserPresets.json ファイルに存在しない場合は削除されます。

Presets profiles initial state

プリセットを手動でロードする

すでに開いているプロジェクトのプリセットをロードすることもできます。

  1. ヘルプ | アクションの検索Ctrl+Shift+A)を呼び出し、CMake プリセットをロードするを検索します。

  2. CLion は、既存のビルドプリセットのリストを含むポップアップを表示します。

    Load CMake Presets popup
  3. プリセットを選択し、Enter を押します。

    Ctrl または Shift を押し続けると、複数のエントリを選択できます。CLion は、選択したすべてのプリセットをロードします。

  4. プロジェクトを開く場合と同様に、手動でロードしたプリセットは、読み取り専用モードで CMake プロファイルにインポートされます。設定 | ビルド、実行、デプロイ | CMake で見つけることができます。

プリセットプロファイルを有効にする

  1. 設定 | ビルド、実行、デプロイ | CMake に移動します。

  2. 目的のプロファイルを選択し、プロファイルを有効にするチェックボックスを設定します。

    Enabling a presets profile

プリセットの編集

インポートしたプリセットを編集するために使用できるオプションは 2 つあります。

プリセットベースの CMake プロファイルのコピーを編集する

  1. 設定 | ビルド、実行、デプロイ | CMake に移動します。

  2. 目的のプロファイルを選択し、 をクリックするか、Ctrl/ ⌘ + D を押します。

    Copying a presets-based profile
  3. コピーしたプロファイルの設定を調整します。

    Editing a copied presets-based profile

エディターで対応する JSON ファイルを変更する

  • 対応する json ファイルを開いて編集を開始します。CLion は、入力時に変更を追跡し、問題ビューでエラーについて通知します。

    CMake presets error reporting
  • エディターでプリセットファイルを変更するか、外部で変更すると、変更を再読み込みするように提案する通知が表示されます。

    Editing a CMake preset JSOn file
  • CLion で変更をサイレントに再ロードする場合は、自動再ロードの有効化をクリックします。これにより、プロファイル設定の対応するチェックボックスが設定されます。

    CMake profiles auto-reload

ツールチェーンの変更

デフォルトでは、ロードされたプリセットはデフォルトの CLion ツールチェーンにリンクされています。

構成済みのツールチェーンの 1 つを設定するには、configure プリセットのベンダー固有のフィールドを変更します。

例: 次のコードを使用して、Clang10 というツールチェーンに切り替えます。

"vendor": { "jetbrains.com/clion": { "toolchain": "Clang10" } }

その結果、Clang10 ツールチェーンがロードされたプリセットに割り当てられます。

A loaded CMake preset

Windows では、MSVC ツールチェーンを使用している場合、configure プリセットのアーキテクチャとツールセットのプロパティが CMake オプションにもフェッチされます。

CMake Presets MSVC options

関連ページ:

CMake プロファイル

CMake プロジェクトのビルドに必要な設定は CMake プロファイルに組み込まれています。これには、ツールチェーンとビルド型に加え、ジェネレーターや環境変数などの CMake オプションが含まれます。たとえば、異なるコンパイラーを使用したり、異なる設定でターゲットをビルドしたりするために、プロジェクトに複数のプロファイルを構成できます。プロファイル設定にアクセスする次のいずれかを実行して、CMake プロファイル設定を開きます。に移動します。を押してアクションの検索ダイアログを開き、CMake...

ツールチェーン

CLion の CMake、Makefile、compilation database プロジェクトの場合、ツールチェーンは、アプリケーションのビルドと実行に必要なすべてのツールのセットです。CMake 実行可能ファイル(CMake プロジェクト)、ビルドツール、C/C++ コンパイラー、デバッガーバイナリ、作業環境。CLion の使用を開始すると、デフォルトのツールチェーンがすでに使用可能になっています。開発で使用することはできますが、プロジェクトのニーズに合わせてツールのセットを調整することもで...

CMake キャッシュ

CMake は変数と設定を CMakeCache.txt ファイルにキャッシュします。プロジェクトを初めてロードすると、このファイルは CMakeLists.txt の内容に従ってビルドディレクトリ(デフォルトでは cmake-build-debug または cmake-build-release)に生成されます。必要に応じて、CMakeCache.txt を通常のテキストファイルとして開いて編集できます。このためには、CMake ツールウィンドウでクリックするか、プロジェクトツリーでファイルを見つけます。C...

CMake の読み込み / 再読み込み

CMake をロードするプロジェクトルートで CMakeLists.txt ファイルが検出されると、CLion はそのファイルを自動的に読み込みます。CMakeLists.txt ファイルを手動でロードするには、プロジェクトツリーでファイルを右クリックし、コンテキストメニューから CMake プロジェクトを読み込むを選択します。CMakeLists.txt の変更時に CMake を再ロードするデフォルトでは、CMakeLists.txt ファイルに変更を加えると、CLion は、プロジェクトを再ロードす...

ビルドアクション

プロジェクトのビルド、クリーニング、インストールのアクションは、メインメニューのビルドセクションにまとめられています。以下の表は、ビルドアクションが次のタイプのプロジェクトでどのように機能するかを示しています。CMake,、メイクファイル、中間子、カスタムビルドターゲットを含む Compilation Database とカスタム実行 / デバッグ構成。CMake プロジェクトのビルドアクション:プロジェクトのビルドカスタムビルドターゲットの場合: 最初のターゲットのビルドツールを呼び出します。ビ...

起動前に CMake ターゲットを実行する

CMake ターゲットは、実行 / デバッグ構成の起動前に自動的に実行できます。これは、やなどの組み込みの CMake ターゲットと、またはを介して指定されたターゲットの両方を対象としています。メインメニューで、に移動し、編集する CMake アプリケーションまたはテストコンフィギュレーションを選択します。起動前領域で、をクリックし、CMake ターゲットを選択します。開いたダイアログで、目的のターゲットを選択します。root 権限で実行するチェックボックスを設定して、管理者権限でターゲットを実行...