CMake プロファイル
CMake プロジェクトのビルドに必要な設定は CMake プロファイルに組み込まれています。これには、ツールチェーンとビルド型に加え、ジェネレーターや環境変数などの CMake オプションが含まれます。
たとえば、異なるコンパイラーを使用したり、異なる設定でターゲットをビルドしたりするために、プロジェクトに複数のプロファイルを構成できます。
プロファイル設定にアクセスする
次のいずれかを実行して、CMake プロファイル設定を開きます。
に移動します。
Control+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 キャッシュ変数 CMake cache variables](https://resources.jetbrains.com/help/img/idea/2023.2/cl_cmake_variables.png)
新しい変数は、CMake のオプションフィールドまたは CMakeLists.txt ファイルに追加できます。ユーザー定義変数はテーブルの上部に配置されます。ユーザー定義変数の値は太字でハイライトされ、他の変数の変更された値は斜体で表示されます。
![カスタム CMake 変数 Custom CMake variables](https://resources.jetbrains.com/help/img/idea/2023.2/cl_cmake_custom_variables.png)
CMake のオプションフィールドから変数を削除するには、テーブルで変数を選択して をクリックするか、Alt+Delete を押します。CMake キャッシュをリセットした後、変数がテーブルから削除されるか、その値がデフォルトに設定されます。
現在のセッションで行われた変更を破棄するには、変数を選択して をクリックするか、Control+Z を押します。
高度な CMake 変数はデフォルトで非表示になっていますが、高度な表示チェックボックスを選択することで表示できます。
![高度な CMake 変数を表示する Show advanced CMake variables](https://resources.jetbrains.com/help/img/idea/2023.2/cl_cmake_variables_advanced.png)
CLion は、CMake キャッシュ変数のツールチップにも簡単な説明を示しています。
![ツールチップ付きのブール変数 Boolean variables with tooltips](https://resources.jetbrains.com/help/img/idea/2023.2/cl_cmake_vars_boolean.png)
IDE は、ブール値をチェックボックスとして表示します。チェックボックスの横に、ブール変数の背後にある実際の値が表示されます。次の値は False
として扱われます: 0
、OFF
、NO
、N
、IGNORE
、NOTFOUND
、空の文字列、接尾辞 -NOTFOUND
で終わる値。他のすべての場合、値は True
として扱われます。
CLion ユーザーインターフェースのチェックボックスをオンまたはオフにすると、次の値のペアがオプション値の構成に使用されます: 0-1
、OFF-ON
、NO-YES
、FALSE-TRUE
、N-Y
その他の値の場合、IDE はチェックボックスの状態を OFF-ON
に変換します。
ジェネレーター
生成プログラムフィールドでは、CMake ジェネレーター(英語)を切り替えることができます。選択したツールチェーンのデフォルト値を使用するか、事前定義されたリストから別のジェネレーターを設定します。
![カスタム CMake ジェネレーターの指定 Specifying a custom CMake generator](https://resources.jetbrains.com/help/img/idea/2023.2/cl_cmakeprofile_generators.png)
デフォルトを使用する | CLion は、デフォルトのジェネレーターとして Ninja(英語) または Makefiles のいずれかを使用します。 Ninja は、次のすべてが当てはまる場合に使用されます。
他のすべての場合、Makefile ジェネレーターが使用されます。 |
CMake に決めさせてください | このオプションを選択した場合、CLion はジェネレーターを明示的に強制せず、CMake が使用するジェネレーターを決定します。デフォルトでは、これは CMAKE_GENERATOR(英語) 環境変数によって制御されます。 |
または、-G
を介して CMake のオプションにジェネレーターを設定することもできます。生成プログラムフィールドが使用されている場合、CLion は CMake のオプションを自動的に更新し、その逆も同様です。
![CMake オプションの CMake ジェネレーター CMake generator in CMake options](https://resources.jetbrains.com/help/img/idea/2023.2/cl_cmakeprofiles_generator_options.png)
現在の制限
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(英語)) では利用できません。
関連ページ:
![](https://resources.jetbrains.com/help/img/idea/2023.2/cl_toolchain_options.png)
ツールチェーン
CLion の CMake、Makefile、compilation database プロジェクトの場合、ツールチェーンは、アプリケーションのビルドと実行に必要なすべてのツールのセットです。CMake 実行可能ファイル(CMake プロジェクト)、ビルドツール、C/C++ コンパイラー、デバッガーバイナリ、作業環境。CLion の使用を開始すると、デフォルトのツールチェーンがすでに使用可能になっています。開発で使用することはできますが、プロジェクトのニーズに合わせてツールのセットを調整することもで...
![](https://resources.jetbrains.com/help/img/idea/2023.2/cl_keymap_settings.png)
キーボードショートカット
CLion には定義済みのキーマップがいくつか含まれており、頻繁に使用するショートカットをカスタマイズできます。キーマップは、対応するキーボードとマウスのショートカットと略語を含むアクションのリストです。キーマップ構成はにあります。事前定義されたキーマップに変更を保存することはできません。代わりに、事前定義されたキーマップのショートカットを変更すると、CLion はそのキーマップのコピーを作成し、必要に応じて構成できます。をクリックして、選択したキーマップを複製し、名前を変更、削除、デフォルト値...
![](https://resources.jetbrains.com/help/img/idea/2023.2/cl_buildproject.png)
ビルドアクション
プロジェクトのビルド、クリーニング、インストールのアクションは、メインメニューのビルドセクションにまとめられています。以下の表は、ビルドアクションが次のタイプのプロジェクトでどのように機能するかを示しています。CMake プロジェクト、Makefile プロジェクト、カスタムビルドターゲットとカスタム実行 / デバッグ構成を含む Compilation Database プロジェクト。CMake プロジェクトのビルドアクション:プロジェクトのビルド現在のプロジェクト用に設定された各 CMake プロファ...
![](https://resources.jetbrains.com/help/img/idea/2023.2/cl_cmaketutorial_toolwindow.png)
CMake プロジェクトを作成する / 開く
CMake プロジェクトを最初から作成するウェルカム画面で新しいプロジェクトをクリックするか、メインメニューからを選択します。左側のペインで C++ 実行ファイルを選択します。プロジェクト名と言語標準を設定します。作成をクリックします。CLion は、次のコマンドを含む単一のソースファイル main.cpp とルート CMakeLists.txt を含むスタブプロジェクトを生成します。CMake の最低限必要なバージョンを指定します。CLion にバンドルされている CMake のバージョンに設定されてい...
![](https://resources.jetbrains.com/help/img/idea/2023.2/cl_presets_profiles_initial.png)
CMake プリセット
CMake プリセットは、次の 2 つのファイルを使用して CMake オプションを構成および共有する方法です。プロジェクトごとのビルド用の CMakePresets.json。このファイルは VCS 経由で共有できます。開発者自身のローカルビルド用の CMakeUserPresets.json。このファイルは VCS にチェックインしないでください。CMakePresets.json と CMakeUserPresets.json はどちらも同じ形式であり、プロジェクトのルートディレクトリに配置する必要...
![](https://resources.jetbrains.com/help/img/idea/2023.2/cl_cmakesettings_overview.png)
CMake
このページを使用して、現在のプロジェクトの CMake プロファイル設定を構成します。CMakeLists.txt または他の CMake 構成ファイルの編集時に CMake プロジェクトを再ロードしますこのチェックボックスが選択されている場合、CMakeLists.txt または CMakePresets.json を編集すると、CLion はプロジェクトを自動的に再ロードします。このチェックボックスがオフの場合、CLion はポップアップメッセージを表示し、現在のプロジェクトを手動で再ロードするか、...