CMakeLists.txt
CMakeLists.txt ファイルには、プロジェクトのソースファイルとターゲット(実行可能ファイル、ライブラリ、その両方)を記述する指示文と命令のセットが含まれています。
新しいプロジェクトを作成すると、CLion は自動的に CMakeLists.txt ファイルを生成してプロジェクトのルートディレクトリに配置します。プロジェクトを開くには、CLion を最上位の CMakeLists.txt にポイントしてプロジェクトとして開くを選択します。
以下の例は、単純な「Hello, World」プロジェクトの CMakeLists.txt ファイルを示しています。
CMakeLists.txt ファイルはエディターで直接編集できます。編集後は必ずプロジェクトを再ロードしてください。自動再ロード機能はデフォルトでは無効になっていますが、 の編集時に CMake プロジェクトを自動的に再ロードするチェックボックスを設定することで有効にできます。
サブディレクトリ CMakeLists.txt ファイル
複雑な構造のプロジェクトの場合は、サブディレクトリ CMakeList.txt ファイルを作成して、サブプロジェクトのビルド、コンテンツ、ターゲットルールを記述することができます。
サブディレクトリ CMakeLists.txt によって追加されるターゲットのタイプは、モジュールのロールに応じて異なります。
![サブディレクトリ内の CMakeLists.txt ファイル CMakeLists.txt files in subdirectories](https://resources.jetbrains.com/help/img/idea/2024.1/cl_cmakeListsFiles.png)
CMakeLists.txt ファイルテンプレート
新規プロジェクトウィザードを使用して CMake または CMake ベース(CUDA、Qt)プロジェクトを作成すると、CLion はプロジェクトの種類と設定に応じて異なるテンプレートを使用して CMakeLists.txt を生成します。これらのテンプレートは、 のその他タブで微調整できます。
![新しい CMake プロジェクトのファイルテンプレート File templates for new CMake projects](https://resources.jetbrains.com/help/img/idea/2024.1/cl_cmake_templates_newprj.png)
テンプレートテキストを編集するときは、一般的な定義済み変数と次の CMake 固有の変数を使用できます。
${CMAKE_DEFAULT_PROJECT_FILE} | プロジェクトの main.cpp / main.c / libary.cpp / library.c ファイル。 |
${CMAKE_LANGUAGE_VERSION} | 選択した言語標準。 |
${CMAKE_MAJOR_VERSION} | サポートされている CMake の最小バージョンのメジャー番号。例: バージョンが |
${CMAKE_MINOR_VERSION} | サポートされている CMake の最小バージョンのマイナー番号。例: バージョンが |
${CMAKE_LIBRARY_TYPE} | 共有ライブラリの |
${QT_VERSION} | 選択した Qt バージョン。 |
${REQUIRED_LIBS} | 選択したプロジェクトタイプに必要な Qt ライブラリ。デフォルトでは、Qt Console Executable の場合は |
プロジェクトビューのコンテキストメニューに、ファイルタブで同じ変数を使用して編集できます。
を介して既存のプロジェクトに追加できる CMake スクリプトのテンプレートもあります。デフォルトでは、このテンプレートは空です。 の![新しい CMakeLists.txt ファイルのファイルテンプレート File template for a new CMakeLists.txt file](https://resources.jetbrains.com/help/img/idea/2024.1/cl_cmake_template_newcmakelists.png)
CMakeLists.txt でのコーディング支援
コード補完
CLion は、CMakeLists.txt 内のほとんどの要素にコード補完を提供します。例: find_package()
コマンドを記述すると、CMake にバンドルされているパッケージのリストを取得できます。
![CMake での完成 Completion in CMake](https://resources.jetbrains.com/help/img/idea/2024.1/cl_cmake_findpackage_completion.png)
CMake の最小バージョン用のクイックフィックス
CMake の必要最小限のバージョンを素早く調整できます。CMake 出力で警告を見つけて、修復をクリックします。
![CMake の最小バージョン用のクイックフィックス Quick fix for CMake minimal version](https://resources.jetbrains.com/help/img/idea/2024.1/cl_cmake_version_quickfix.png)
CLion は cmake_minimum_required()
コマンドのバージョンを変更します。
![CMake の最小バージョンが変更されました CMake minimal version changed](https://resources.jetbrains.com/help/img/idea/2024.1/cl_cmake_version_fixed.png)
生成メニューからターゲットを追加する
Alt+Insert を押してターゲットタイプを選択します。
新しいターゲットに追加するファイルを選択します:
CLion は
add_executable
またはadd_library
コマンドを追加します。
CMake のライブテンプレート
ライブテンプレートを使用して、構造またはコマンドをすばやく挿入します。例: exe
と入力し、Tab を押して実行可能なターゲットを追加します。
![add_executable の CMake ライブテンプレート CMake live template for add_executable](https://resources.jetbrains.com/help/img/idea/2024.1/cl_livetemplates_cmake_exe.png)
![add_executable テンプレートが挿入されました add_executable template inserted](https://resources.jetbrains.com/help/img/idea/2024.1/cl_livetemplates_cmake_exe_result.png)
CMake ライブテンプレートの完全なリストは
で見つかります。パラメーター情報ポップアップ
パラメーター情報ポップアップには、入力時に CMake コマンドの署名バリアントが表示されます。
![CMake のパラメーター情報 Parameter info for CMake](https://resources.jetbrains.com/help/img/idea/2024.1/cl_cmake_paraminfo.png)
デフォルトでは、最初の括弧を入力してから 1 秒 (1000 ミリ秒) 以内にポップアップが表示されます。これはパラメーター情報の設定で変更できます。
パラメーター情報を手動で呼び出すには、Ctrl+P を押します。
クイックドキュメントポップアップ
クイックドキュメントポップアップは、CMake コード内の要素に関する詳細情報を取得できます。呼び出すには、マウスホバーを使用するか、Ctrl+Q を押します。
例: 補完候補のクイックドキュメントを表示できます。
![CMake 補完のクイックドキュメント Quick doc in CMake completion](https://resources.jetbrains.com/help/img/idea/2024.1/cl_cmake_quickdoc_completion.png)
コードの折りたたみ
CMake スクリプトでの折りたたみ / 展開は、マクロと関数、if-else 句、ブロック、コメント、任意のコード選択で使用できます (これを機能させるには、カスタム折りたたみ領域を必ず有効にしてください)。
で![CMake コードの折りたたみ CMake code folding](https://resources.jetbrains.com/help/img/idea/2024.1/cl_cmake_folding.png)
構造ビュー
CMake の構造ビューには、スクリプトで使用された変数、関数、マクロ、ターゲットが表示されます。それを開くには、Alt+7 (ツールウィンドウの場合) または Ctrl+F12 (ポップアップの場合) を押します。
![CMake の構造ビュー Structure view for CMake](https://resources.jetbrains.com/help/img/idea/2024.1/cl_cmake_structureview.png)
カスタマイズ可能な構文のハイライト
で CMake ファイルの色とフォントスキームを調整できます。
![CMake の配色設定 Color scheme settings for CMake](https://resources.jetbrains.com/help/img/idea/2024.1/cl_cmake_codestyle_settings.png)
CMake ファイルのコードスタイル
では、CMake ファイルに適用されるコードスタイルを調整できます。特定の設定を変更すると、それがコードに与える影響がプレビューペインに表示されます。
![CMake コードスタイルの設定 CMake code style settings](https://resources.jetbrains.com/help/img/idea/2024.1/cl_cmake_codestyle_settings_format.png)
関連ページ:
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_cmaketutorial_toolwindow.png)
CMake プロジェクトを作成する / 開く
CMake プロジェクトを最初から作成するウェルカム画面で新しいプロジェクトをクリックするか、メインメニューからを選択します。左側のペインで C++ 実行ファイルを選択します。プロジェクト名と言語標準を設定します。作成をクリックします。CLion は、次のコマンドを含む単一のソースファイル main.cpp とルート CMakeLists.txt を含むスタブプロジェクトを生成します。CMake の最低限必要なバージョンを指定します。CLion にバンドルされている CMake のバージョンに設定されてい...
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_CMake_select_load.png)
CMake の読み込み / 再読み込み
CMake をロードするプロジェクトルートで CMakeLists.txt ファイルが検出されると、CLion はそのファイルを自動的に読み込みます。CMakeLists.txt ファイルを手動でロードするには、プロジェクトツリーでファイルを右クリックし、コンテキストメニューから CMake プロジェクトを読み込むを選択します。CMakeLists.txt の変更時に CMake を再ロードするデフォルトでは、CMakeLists.txt ファイルに変更を加えると、CLion は、プロジェクトを再ロードす...
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_cuda_createprj.png)
CUDA プロジェクト
CUDA(Compute Unified Device Architecture)は、NVidia による並列コンピューティングプラットフォームおよびプログラミングモデルです。CUDA 対応 GPU を操作するための C/C++ 言語拡張機能と API を提供する CLion は CUDA C/C++ をサポートし、コードインサイトを提供します。また、CLion は、新規プロジェクトウィザードを使用して CMake ベースの CUDA アプリケーションを作成できます。CLion の CUDA プロジ...
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_qt_installer.png)
Qt プロジェクト
Qt は、GUI アプリケーションを作成するためのクロスプラットフォームの C++ フレームワークです。Qt は独自のビルドシステム qmake を使用し、バージョン Qt4 以降の CMake でのビルドもサポートしています。純粋な Qmake プロジェクトを CLion に直接インポートすることはできません。ただし、CMake に変換すると、通常の CMake アプリケーションとして開いて管理できます。新規プロジェクトウィザードを使用して、CLion で CMake ベースの Qt プロジェクトを作成する...
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_filetemplates_variables_example.png)
ファイルテンプレート変数
ファイルテンプレートには変数を含めることができます。変数は、テンプレートが適用されるときに値に置き換えられます。変数は、ドル記号で始まり、その後に変数名が続く文字列です。変数名は、オプションで波括弧で囲むことができます。たとえば、とは同じ変数の異なる表記法です。事前定義された変数とカスタム変数は、テンプレート本体とファイル名で使用できます。例: テンプレートのファイル名フィールドにと入力した場合、4 月に作成すると、結果のファイルの名前はになります。ここで、は事前定義された変数です。代わりにカス...
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_livetemplate_settings.png)
ライブテンプレート
ライブテンプレートを使用して、ループ、条件、宣言、print ステートメントなどの一般的な構造をコードに挿入します。コードスニペットを展開するには、対応するテンプレートの省略形を入力してを押します。を押し続けると、テンプレート内の 1 つの変数から次の変数に移動します。を押して、前の変数に移動します。次のデモは、ライブテンプレートの使用箇所と、関数の抽出、パラメーターの抽出、ラムダパラメーターを抽出するリファクタリングを示しています。ライブテンプレートの種類:次のタイプのライブテンプレー