CLion 2023.2 ヘルプ

CMake プロファイル

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

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

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

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

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

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

    CMake settings in Find Action
  • 設定 | キーマップに移動し、CMake 設定のショートカットを割り当てます。このショートカットを使用すると、CMake 設定ページをすばやく開きます。

    Assigning a shortcut for CMake settings

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

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

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

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

プロファイルで構築する

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

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

    cmake profiles in the configuration switcher
  2. App client expui build build をクリックするか、利用可能なビルドアクションのいずれかに電話します。

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

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

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

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

プロファイルを共有する

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

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

    Shared CMake profile

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

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

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

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

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

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

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

    Disabling a loaded profile from the CMake tool window

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

    Enabling a disabled profile from the CMake tool window

CMake のオプション

コンパイラーフラグ

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

  • CMake オプションの使用:

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

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

    Setting compiler flags in CMake options

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

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

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

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

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

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

CMake キャッシュ変数

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

CMake cache variables

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

Custom CMake variables

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

現在のセッションで行われた変更を破棄するには、変数を選択して the Revert icon をクリックするか、Control+Z を押します。

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

Show advanced CMake variables

CLion は、CMake キャッシュ変数のツールチップにも簡単な説明を示しています。

Boolean variables with tooltips

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

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

ジェネレーター

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

Specifying a custom CMake generator

デフォルトを使用する

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 generator in CMake options

現在の制限

  • 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 設定からカスタムタイプが利用可能になります。

Custom build types

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

Custom build types for new cmake profile

ビルドオプション

ビルドオプションフィールドでは、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 の生成とビルドに影響を与える全体的な環境は、次のもので構成されます。

  • 親環境

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

  • ツールチェーン環境

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

  • CMake プロファイル環境

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

$VAR$ 構文を使用して、親環境変数を含む既存の変数を参照できます。このような参照では大文字と小文字が区別されることに注意してください。たとえば、Linux/macOS の場合は PATH=xxx:$PATH$、Windows の場合は Path=xxx;$Path$ です。既存の変数の参照は、現在リモートツールチェーン (CPP-15693(英語)) では利用できません。

関連ページ:

ツールチェーン

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

キーボードショートカット

CLion には定義済みのキーマップがいくつか含まれており、頻繁に使用するショートカットをカスタマイズできます。キーマップは、対応するキーボードとマウスのショートカットと略語を含むアクションのリストです。キーマップ構成はにあります。事前定義されたキーマップに変更を保存することはできません。代わりに、事前定義されたキーマップのショートカットを変更すると、CLion はそのキーマップのコピーを作成し、必要に応じて構成できます。をクリックして、選択したキーマップを複製し、名前を変更、削除、デフォルト値...

ビルドアクション

プロジェクトのビルド、クリーニング、インストールのアクションは、メインメニューのビルドセクションにまとめられています。以下の表は、ビルドアクションが次のタイプのプロジェクトでどのように機能するかを示しています。CMake プロジェクト、Makefile プロジェクト、カスタムビルドターゲットとカスタム実行 / デバッグ構成を含む Compilation Database プロジェクト。CMake プロジェクトのビルドアクション:プロジェクトのビルド現在のプロジェクト用に設定された各 CMake プロファ...

CMake プロジェクトを作成する / 開く

CMake プロジェクトを最初から作成するウェルカム画面で新しいプロジェクトをクリックするか、メインメニューからを選択します。左側のペインで C++ 実行ファイルを選択します。プロジェクト名と言語標準を設定します。作成をクリックします。CLion は、次のコマンドを含む単一のソースファイル main.cpp とルート CMakeLists.txt を含むスタブプロジェクトを生成します。CMake の最低限必要なバージョンを指定します。CLion にバンドルされている CMake のバージョンに設定されてい...

CMake プリセット

CMake プリセットは、次の 2 つのファイルを使用して CMake オプションを構成および共有する方法です。プロジェクトごとのビルド用の CMakePresets.json。このファイルは VCS 経由で共有できます。開発者自身のローカルビルド用の CMakeUserPresets.json。このファイルは VCS にチェックインしないでください。CMakePresets.json と CMakeUserPresets.json はどちらも同じ形式であり、プロジェクトのルートディレクトリに配置する必要...

CMake

このページを使用して、現在のプロジェクトの CMake プロファイル設定を構成します。CMakeLists.txt または他の CMake 構成ファイルの編集時に CMake プロジェクトを再ロードしますこのチェックボックスが選択されている場合、CMakeLists.txt または CMakePresets.json を編集すると、CLion はプロジェクトを自動的に再ロードします。このチェックボックスがオフの場合、CLion はポップアップメッセージを表示し、現在のプロジェクトを手動で再ロードするか、...