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

に移動して、 ショートカットを割り当てるで CMake 設定のショートカットを設定してください。 このショートカットを使うと、CMake の設定ページをすばやく開けます。

新しいプロファイルを追加する
に進みます。
をクリックすると、CLion が新しいプロファイルをリストに追加します。
必要に応じて、プロファイル名、ビルドタイプ、その他の設定を変更します。
プロファイルで構築する
有効なプロファイルがプロファイルスイッチャーにリストされます。
アプリケーションを構築、実行、デバッグする前に、目的のプロファイルを選択してください。

をクリックするか、利用可能な ビルドアクション のいずれかを呼び出します。
また、デフォルトでは、
を実行する前、または
をデバッグする前にビルドが実行されます (これは構成設定で変更できます)。
新しいプロジェクトのデフォルトプロファイルを構成する
に進みます。
デフォルトですべての 新しいプロジェクトに使用されるプロファイルのリストを構成します。
プロファイルを共有する
プロジェクトと一緒に VCS で CMake プロファイルを共有できます。 プロファイルの設定は、 .idea ディレクトリの cmake.xml に保存されます。
共有するプロファイルを選択し、 共有 チェックボックスを設定します。

共有プロファイルは自動的にリストの一番下に移動します。
共有プロファイルとローカルプロファイルには必ず異なる名前を付けてください。 共有プロファイルとローカルプロファイルの名前が同じである場合、ローカルプロファイルが優先され、設定に共有プロファイルは表示されません。
プロファイルを無効 / 有効にする
現在使用されていないプロファイルを無効にして、ロードの時間を節約し、潜在的なエラーを回避できます(たとえば、定期的に使用しないリモートプロファイルがあり、マシンがシャットダウンされている場合)。
次のいずれかのオプションを使用します。
の プロファイルを有効にする チェックボックスをオフまたは設定します。 無効になっているプロファイルは、リストでグレー表示されます。

正常にロードされたプロファイルを無効にするには、 CMake ツールウィンドウの設定メニューから このプロファイルを無効にする を選択します。

このメニューから、無効になっているプロファイルを有効にすることもできます。

CMake のオプション
コンパイラーフラグ
CLion では、プロファイルの CMake のオプション フィールドまたは CMakeLists.txt スクリプトでコンパイラーフラグを指定できます。
CMake オプションの使用:
でプロファイルを選択し、 CMake のオプション フィールドを編集します。
-DとCMAKE_CXX_FLAGS変数を使用します(C プロジェクトの場合はCMAKE_C_FLAGS)。 例:-DCMAKE_CXX_FLAGS="-Wall -Wextra"。
CLion は、 CMake のオプション に渡された
--preset引数でも機能します。 指定された プリセットのデータは、ビルド型、ツールチェーン、ビルドディレクトリ設定に読み込まれます。また、 CMakeLists.txt でコンパイラー フラグを設定することもできます。
必要なフラグを指定して次のコマンドを追加します。
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra")
CMake ツールチェーンファイル
CMake のオプション では、 CMAKE_TOOLCHAIN_FILE(英語) 変数を使用して CMake ツールチェーンファイルを指定できます。
CMake キャッシュ変数
キャッシュ変数 テーブルの CMake キャッシュ変数を表示および編集できます。

新しい変数は、 CMake のオプションフィールドまたは CMakeLists.txt ファイルに追加できます。 ユーザー定義変数はテーブルの上部に配置されます。 ユーザー定義変数の値は太字でハイライトされ、他の変数の変更された値は斜体で表示されます。

CMake のオプション フィールドから変数を削除するには、テーブルで変数を選択して をクリックするか、 Alt+Delete を押します。 CMake キャッシュをリセットした後、変数がテーブルから削除されるか、その値がデフォルトに設定されます。
現在のセッションで行われた変更を破棄するには、変数を選択して をクリックするか、 Ctrl+Z を押します。
高度な CMake 変数はデフォルトで非表示になっていますが、 高度な表示 チェックボックスを選択することで表示できます。

CLion は、CMake キャッシング変数のツールチップにも簡単な説明を表示します:

IDE では、ブール値がチェックボックスとして表示されます。 チェックボックスの横に、ブール変数の実際の値が表示されます。 次の値は False として扱われます: 0、 オフ、 NO、 N、 IGNORE、 NOTFOUND 、空の文字列、接尾辞 -NOTFOUND で終わる値。 その他の場合、値は True として扱われます。
CLion のユーザーインターフェースでチェックボックスをオンまたはオフにすると、次の値のペアがオプション値の構成に使用されます: 0-1、 OFF-ON、 NO-YES、 FALSE-TRUE、 N-Y。 他の値の場合、IDE はチェックボックスの状態を OFF-ON に変換します。
ジェネレーター
生成プログラム フィールドでは、 CMake ジェネレーター(英語)を切り替えることができます。 選択したツールチェーンのデフォルト値を使用するか、事前定義されたリストから別のジェネレーターを設定します。

デフォルトを使用する | CLion は、デフォルトのジェネレーターとして Ninja または Makefiles のいずれかを使用します。 Ninja は、次の すべてが当てはまる場合に使用されます。
他のすべての場合、 Makefile ジェネレーターが使用されます。 |
CMake に決めさせる | このオプションを選択した場合、CLion はジェネレーターを明示的に強制せず、CMake が使用するジェネレーターを決定します。 デフォルトでは、これは CMAKE_GENERATOR(英語) 環境変数によって制御されます。 |
または、 -G を介して CMake のオプション にジェネレーターを設定することもできます。 生成プログラム フィールドが利用されている場合、CLion は CMake のオプション を自動的に更新し、その逆も同様です:

現在の制限
CLion は、CMake v3.14 で最初に登場した CMake File API(英語) を使用します。 ただし、CLion は CMake v3.15 で導入されたアップデートからサポートしているため、バンドルされた CMake から切り替える場合は、必ず バージョン 3.15.x 以降を使用してください。
Ninja Multi-Config、Xcode、Visual Studio などのマルチ構成ジェネレーターの場合、CLion は CMake プロファイル(CPP-20890 )で指定された ビルドタイプに対応する構成のみを使用します。
ビルドタイプ
ビルドタイプ フィールドを使用して、次の CMake ビルドタイプ(英語)のいずれかを設定します。
デフォルト(CMAKE_BUILD_TYPE の 空の値に対応)。
デバッグ (デフォルトのビルドタイプ)
リリース
RelWithDebInfo (デバッグ情報付きでリリース)
MinSizeRel (サイズに最適化されたリリース)
CMakeLists.txt のビルド型を参照するには、 CMAKE_BUILD_TYPE 変数を使用します。 例:
現在のビルドタイプに基づいて、コード内に条件ステートメントを作成することもできます。
カスタムビルドタイプ
利用可能なビルドタイプのリストは CMAKE_CONFIGURATION_TYPES コマンドで定義されています。 このコマンドのデフォルト値は上記の 4 つのビルドタイプですが、他のビルドタイプに拡張することができます。 例:
プロジェクトを再ロードした後、CMake 設定からカスタムタイプが利用可能になります。

カスタムタイプは、 CMakeCache.txt にキャッシュされた値 Debug に追加されたことに注意してください。 たとえば、新しい CMake プロファイルを追加すると、独自の CMakeCache.txt が作成され、このプロファイルの場合、使用可能なビルドタイプのリストにはカスタムタイプのみが含まれます。

ビルドオプション
ビルドオプション フィールドでは、CMake が使用するビルドツールに渡すオプション、または CMake 自体のコマンドラインパラメーターとして渡すオプションを設定できます。 これらのオプションは、 ビルド(英語)フェーズで使用されます。
基礎となるビルドツール(make、Ninja、別のツール)の引数の前には -- を付ける必要があります。 例: -j 5 --clean-first -- -d -p を指定すると、 -j 5 --clean-first は CMake によって処理され、 -d -p はビルドツールに渡されます。
このフィールドに何も指定されていない場合、CLion は選択された環境に依存するデフォルト設定を使用します。 例: 並列で実行されるビルドプロセスのデフォルト設定は、 make および Ninja の場合 -- -j max(cpucount * 0.8, cpucount - 2) ですが、 Microsoft Visual C++ の場合、このオプションは設定されておらず、フィールドは空です。
環境変数
追加の環境変数を CMake 世代に渡して、 ダイアログの 環境 フィールド( に移動)でビルドすることができます。
CMake の生成とビルドに影響を与える全体的な環境 は、次のもので構成されます。
親環境
親環境を含めるには、
をクリックするか Shift+Enter を押して 環境変数 ダイアログを開き、 システム環境変数を含める チェックボックスを設定します。 追加で指定した値は、システム変数に追加されます。 それ以外の場合、チェックボックスをオフにすると、カスタム値がシステムの値を上書きします。
ツールチェーン環境
これらは、選択したツールセットによって定義された変数(たとえば、 MSVC の場合は vcvarsall.bat 、または
mingw/binのようなパス変数)、 環境初期化スクリプトからの変数です。CMake プロファイル環境
環境 フィールドで指定されたカスタム変数。
親の環境変数を含む既存の変数は、 $VAR$ 構文を使って参照できます。 このような参照は大文字と小文字を区別します。例えば、Linux/macOS では PATH=xxx:$PATH$ 、Windows では Path=xxx;$Path$ です。 既存の変数の参照は、 リモートツールチェーン (CPP-15693 )では現在利用できません。