CLion 2026.2 Help

CMake プロファイル

CMake プロジェクトのビルドに必要な設定は CMake プロファイル に組み込まれています。 これには ツールチェーンビルド型に加えて、 ジェネレーター環境変数などの CMake オプションが含まれます。

たとえば、異なるコンパイラーを使用したり、異なる設定でターゲットをビルドしたりするために、プロジェクトに複数のプロファイルを構成できます。

プロファイル設定にアクセスする

次のいずれかを実行して、CMake プロファイル設定を開きます。

  • 設定 | ビルド、実行、デプロイ | CMake に進みます。

  • Ctrl+Shift+A を押して アクションの検索 ダイアログを開き、 CMake の設定を検索します:

    C 検索アクションで設定を行う
  • 設定 | キーマップ に移動して、 ショートカットを割り当てるで CMake 設定のショートカットを設定してください。 このショートカットを使うと、CMake の設定ページをすばやく開けます。

    CMake 設定のショートカットの割り当て

新しいプロファイルを追加する

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

  2. をクリックすると、CLion が新しいプロファイルをリストに追加します。

  3. 必要に応じて、プロファイル名、ビルドタイプ、その他の設定を変更します。

プロファイルで構築する

  1. 有効なプロファイルがプロファイルスイッチャーにリストされます。

    アプリケーションを構築、実行、デバッグする前に、目的のプロファイルを選択してください。

    設定スイッチャーの cmake プロファイル
  2. をクリックするか、利用可能な ビルドアクション のいずれかを呼び出します。

    また、デフォルトでは、 を実行する前、または をデバッグする前にビルドが実行されます (これは構成設定で変更できます)。

新しいプロジェクトのデフォルトプロファイルを構成する

  1. ファイル | 新規プロジェクトのセットアップ | 新規プロジェクトの設定 | ビルド、実行、デプロイ | CMake に進みます。

  2. デフォルトですべての 新しいプロジェクトに使用されるプロファイルのリストを構成します。

プロファイルを共有する

プロジェクトと一緒に VCS で CMake プロファイルを共有できます。 プロファイルの設定は、 .idea ディレクトリの cmake.xml に保存されます。

  • 共有するプロファイルを選択し、 共有 チェックボックスを設定します。

    共有 CMake プロファイル

    共有プロファイルは自動的にリストの一番下に移動します。

    共有プロファイルとローカルプロファイルには必ず異なる名前を付けてください。 共有プロファイルとローカルプロファイルの名前が同じである場合、ローカルプロファイルが優先され、設定に共有プロファイルは表示されません。

プロファイルを無効 / 有効にする

現在使用されていないプロファイルを無効にして、ロードの時間を節約し、潜在的なエラーを回避できます(たとえば、定期的に使用しないリモートプロファイルがあり、マシンがシャットダウンされている場合)。

次のいずれかのオプションを使用します。

  • 設定 | ビルド、実行、デプロイ | CMakeプロファイルを有効にする チェックボックスをオフまたは設定します。 無効になっているプロファイルは、リストでグレー表示されます。

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

    CMake ツールウィンドウからロードされたプロファイルを無効にする

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

    CMake ツールウィンドウから無効なプロファイルを有効にする

CMake のオプション

コンパイラーフラグ

CLion では、プロファイルの CMake のオプション フィールドまたは CMakeLists.txt スクリプトでコンパイラーフラグを指定できます。

  • CMake オプションの使用:

    設定 | ビルド、実行、デプロイ | CMake でプロファイルを選択し、 CMake のオプション フィールドを編集します。

    -DCMAKE_CXX_FLAGS 変数を使用します(C プロジェクトの場合は CMAKE_C_FLAGS)。 例: -DCMAKE_CXX_FLAGS="-Wall -Wextra"

    CMake オプションでのコンパイラーフラグの設定

    CLion は、 CMake のオプション に渡された --preset 引数でも機能します。 指定された プリセットのデータは、ビルド型、ツールチェーン、ビルドディレクトリ設定に読み込まれます。

  • また、 CMakeLists.txt でコンパイラー フラグを設定することもできます。

    必要なフラグを指定して次のコマンドを追加します。

    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra")

CMake ツールチェーンファイル

  • CMake のオプション では、 CMAKE_TOOLCHAIN_FILE(英語) 変数を使用して CMake ツールチェーンファイルを指定できます。

CMake キャッシュ変数

キャッシュ変数 テーブルの CMake キャッシュ変数を表示および編集できます。

CMake キャッシュ変数

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

カスタム CMake 変数

CMake のオプション フィールドから変数を削除するには、テーブルで変数を選択して 削除ボタン をクリックするか、 Alt+Delete を押します。 CMake キャッシュをリセットした後、変数がテーブルから削除されるか、その値がデフォルトに設定されます。

現在のセッションで行われた変更を破棄するには、変数を選択して 「元に戻す」アイコン をクリックするか、 Ctrl+Z を押します。

高度な CMake 変数はデフォルトで非表示になっていますが、 高度な表示 チェックボックスを選択することで表示できます。

高度な CMake 変数を表示する

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

ツールチップ付きのブール変数

IDE では、ブール値がチェックボックスとして表示されます。 チェックボックスの横に、ブール変数の実際の値が表示されます。 次の値は False として扱われます: 0オフNONIGNORENOTFOUND 、空の文字列、接尾辞 -NOTFOUND で終わる値。 その他の場合、値は True として扱われます。

CLion のユーザーインターフェースでチェックボックスをオンまたはオフにすると、次の値のペアがオプション値の構成に使用されます: 0-1OFF-ONNO-YESFALSE-TRUEN-Y。 他の値の場合、IDE はチェックボックスの状態を OFF-ON に変換します。

ジェネレーター

生成プログラム フィールドでは、 CMake ジェネレーター(英語)を切り替えることができます。 選択したツールチェーンのデフォルト値を使用するか、事前定義されたリストから別のジェネレーターを設定します。

カスタム CMake ジェネレーターの指定

デフォルトを使用する

CLion は、デフォルトのジェネレーターとして Ninja または Makefiles のいずれかを使用します。

Ninja は、次の すべてが当てはまる場合に使用されます。

  • 選択した ツールチェーンはローカルです(リモートDockerWSL は含まれません)。

  • Ninja で選択したツールチェーン用に構成されたビルドツール(バンドルされた Ninja がデフォルトのビルドツールです)。

  • CMake のバージョンは 3.20 以降です。

  • プロジェクトは、CLion 2021.3 で初めて作成または開かれます。

  • 詳細設定CMake 3.20 以降にはレガシージェネレーターを使用する チェックボックスが設定されていません。

他のすべての場合、 Makefile ジェネレーターが使用されます。

CMake に決めさせる

このオプションを選択した場合、CLion はジェネレーターを明示的に強制せず、CMake が使用するジェネレーターを決定します。 デフォルトでは、これは CMAKE_GENERATOR(英語) 環境変数によって制御されます。

または、 -G を介して CMake のオプション にジェネレーターを設定することもできます。 生成プログラム フィールドが利用されている場合、CLion は CMake のオプション を自動的に更新し、その逆も同様です:

CMake オプションの 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 変数を使用します。 例:

if (CMAKE_BUILD_TYPE MATCHES Debug) add_definitions(-DDEBUG=1) endif()

現在のビルドタイプに基づいて、コード内に条件ステートメントを作成することもできます。

int main(int argc, const char* argv[]) { #if DEBUG ... #else ... #endif

カスタムビルドタイプ

利用可能なビルドタイプのリストは CMAKE_CONFIGURATION_TYPES コマンドで定義されています。 このコマンドのデフォルト値は上記の 4 つのビルドタイプですが、他のビルドタイプに拡張することができます。 例:

# adding two custom build types to the cached value # variable CMAKE_CONFIGURATION_TYPES should be defined before other definitions: set(CMAKE_CONFIGURATION_TYPES "MyDebug;MyRelease" CACHE STRING "" FORCE)

プロジェクトを再ロードした後、CMake 設定からカスタムタイプが利用可能になります。

カスタムビルドタイプ

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

新しい cmake プロファイルのカスタムビルドタイプ

ビルドオプション

ビルドオプション フィールドでは、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 の設定 ダイアログの 環境 フィールド(設定 | ビルド、実行、デプロイ | CMake に移動)でビルドすることができます。

CMake の生成とビルドに影響を与える全体的な環境 は、次のもので構成されます。

  • 親環境

    親環境を含めるには、 をクリックするか Shift+Enter を押して 環境変数 ダイアログを開き、 システム環境変数を含める チェックボックスを設定します。 追加で指定した値は、システム変数に追加されます。 それ以外の場合、チェックボックスをオフにすると、カスタム値がシステムの値を上書きします。

  • ツールチェーン環境

    これらは、選択したツールセットによって定義された変数(たとえば、 MSVC の場合は vcvarsall.bat 、または mingw/bin のようなパス変数)、 環境初期化スクリプトからの変数です。

  • CMake プロファイル環境

    環境 フィールドで指定されたカスタム変数。

親の環境変数を含む既存の変数は、 $VAR$ 構文を使って参照できます。 このような参照は大文字と小文字を区別します。例えば、Linux/macOS では PATH=xxx:$PATH$ 、Windows では Path=xxx;$Path$ です。 既存の変数の参照は、 リモートツールチェーンCPP-15693 )では現在利用できません。

2026 年 7 月 15 日