CLion 2026.2 Help

クイック CMake チュートリアル

このチュートリアルでは、CLion で単純な CMake プロジェクトを作成して開発する手順を案内します。 段階的に、ビルドシステムとしての CMake(英語) の基本と、CMake 固有の IDE 設定とアクションを学習します。

1。 シンプルな CMake プロジェクト

CMake(英語) は、 CMakeLists と呼ばれるスクリプトを使用して、特定の環境用のビルドファイル (Unix マシンのメイクファイルなど) を生成するメタビルドシステムです。

CLion で新しい CMake プロジェクトを作成すると、プロジェクトルートに CMakeLists.txt ファイルが自動的に生成されます。

サンプル CMake プロジェクトを開始する

  1. メインメニューから ファイル | 新規プロジェクト を選択します。

  2. 左側のペインで C++ 実行ファイル を選択します。

    この例では、プロジェクト名は cmake_testapp で、選択された言語標準は C++17 です。

    新しい CMake プロジェクトの作成

    作成 をクリックします。

  3. CLion は、単一のソースファイル main.cpp CMakeLists.txt スクリプトを含むスタブプロジェクトをルートに生成します。

    スタブ CMake プロジェクトの CMakeLists.txt

    自動生成された CMakeLists.txt には次のコマンドが含まれています。

    コマンド

    説明

    cmake_minimum_required(VERSION 3.26)

    デフォルトの ツールチェーンで設定されているように、最低限必要な CMake のバージョンを 指定します。 ほとんどの場合、CMake 実行可能ファイルが意図的に変更されていなければ、これがバンドルされた CMake バージョンです。

    project(cmake_testapp)

    プロジェクト作成時に指定した内容に従ってプロジェクト名を定義します。

    set(CMAKE_CXX_STANDARD 17)

    プロジェクトの作成時に選択したように、 CMAKE_CXX_STANDARD 変数を 17 の値に 設定(英語)します。

    add_executable(cmake_testapp main.cpp)

    main.cpp からビルドされる cmake_testapp 実行可能ターゲットを 追加(英語)します。 ターゲットについては 後述します。

  4. IDE の左側のツールバーにある をクリックして CMake ツールウィンドウを開き、プロジェクトのロードの進捗とステータスを確認できます:

    CMake ツールウィンドウ

2。 CMake ターゲットと CLion 構成

ターゲット(英語)は、CMake スクリプトを使用して構築される実行可能ファイルまたはライブラリです。 1 つのスクリプトで複数のビルドターゲットを定義できます。

今のところ、テストプロジェクトには cmake_testapp という 1 つのビルドターゲットしかありません。 最初のプロジェクトのロード時に、CLion はこのターゲットに関連付けられた実行/デバッグ構成を自動的に追加します:

新しい CMake プロジェクトのデフォルト構成

スイッチャーで 実行構成の編集 をクリックして詳細を表示します。 ターゲット名と実行可能ファイル名は、 CMakeLists.txt で指定したものと同じです。

新しい CMake プロジェクトのデフォルト構成の詳細

このダイアログの 起動前 領域に注目してください。 ビルド は、デフォルトで起動前のステップとして設定されます。 この構成を使用してターゲットをデバッグまたは実行するだけでなく、ビルドを実行することもできます。 CLion で利用できるさまざまなビルドアクションの詳細については、 ビルドアクション を確認してください。

3。 既存のターゲットへのファイルの追加

新しいソースファイル general.cpp を作成し、それを cmake_testapp ターゲットに追加しましょう。

  1. プロジェクトツリーでルートフォルダーを右クリックし、 新規 | C/C++ ソースファイル を選択します:

    ソースファイルの追加
  2. ターゲットに追加 チェックボックスを設定します。

    既存のターゲットへのファイルの追加
  3. OK をクリックすると、新しいファイルが add_executable コマンドに追加されます。

    add_executable に追加されたソースファイル

4。 新しいターゲットの追加

次に、さらに 2 つのファイルを追加し、それらの実行可能ファイルとライブラリターゲットを作成しましょう。

新しい実行可能ターゲット

  1. プロジェクトツリーでルートフォルダーを右クリックし、 新規 | C/C++ ソースファイル を再度選択します。

  2. ファイル名を設定します (この例では calc )。

  3. ターゲットに追加 フィールドで、 cmake_testapp チェックボックスをオフにします。

  4. 新しいターゲットの追加 リンクをクリックします。

    新しいターゲットへのファイルの追加
  5. ターゲット名(cmake_testapp_calc )を指定し、 追加 をクリックします:

    新しい実行可能ターゲットの追加
  6. 新しく作成したターゲットがリストに表示されます。

    cmake_testapp_calc ターゲットのみが選択されていることを確認します。

    新しいターゲットがターゲットのリストに追加されました

    OK をクリックします。

  7. CLion は新しい add_executable コマンドを CMakeLists.txt に追加し、プロジェクトを再ロードします:

    CMakeLists.txt の新しいターゲット
  8. 再ロード後、新しい構成が構成スイッチャーに表示されます:

    新しく追加されたターゲットの構成

新しいライブラリターゲット

  1. プロジェクトツリーでルートフォルダーを右クリックし、 新規 | C/C++ ソースファイル を再度選択します。

  2. ファイル名 ( calc_lib ) を指定します。

  3. ターゲットに追加 フィールドのチェックボックスをオフにします。

  4. 新しいターゲットの追加 をクリックします。

    新しいターゲットの追加
  5. ドロップダウンリストで、 add_library を選択します。

    新しいライブラリターゲット
  6. ターゲット名(cmake_testapp_lib )を設定し、 追加 をクリックします。

    ライブラリターゲットの追加
  7. 新しく作成したターゲットがリストに表示されます。

    他のターゲットのチェックボックスがオフになっていることを確認してください。

    新しいライブラリターゲットが追加されました

    関連するヘッダーを作成する チェックボックスを設定して、ヘッダーファイル calc_lib.h も追加します。

    OK をクリックします。

  8. CLion は add_library コマンドを CMakeLists.txt に追加し、プロジェクトを再ロードします:

    CMakeLists.txt の新しいライブラリターゲット
  9. 実行可能ファイルターゲットの場合と同様に、CLion はライブラリターゲットの構成も自動的に作成します:

    新しく追加されたライブラリターゲットの構成

    ただし、これは実行不可能な構成であるため、実行またはデバッグしようとすると、「 実行可能ファイルが指定されていません」というエラーメッセージが表示されます。

    実行ファイル未指定エラー
  10. ライブラリファイルを取得するには、この構成をビルドする必要があります。 スイッチャーでそれを選択し、 Ctrl+F9 を押すか、ビルドアイコンをクリックします。

    ライブラリターゲットのビルド

    その結果、 libcmake_testapp_lib.a ファイルが cmake-build-debug フォルダーに表示されます。

    ライブラリアーティファクト

5. プロジェクトを再ロードする

CMakeLists.txt にいくつかの変更を手動で導入してみましょう。 例: ライブラリターゲットの宣言に STATIC を追加します。

CMakeLists.txt を手動で変更する

CMakeLists.txt に変更を加えると、CLion がプロジェクトの再ロードを提案するアイコンを表示します。 それをクリックするか、ショートカットを押します。

CMake 再ロードアイコン

6。 CMake プリセットと CLion CMake プロファイル

プロジェクトの CMake オプションを構成して共有するには、CMake プリセット、CLion の CMake プロファイル、またはその両方を使用できます。

CMake プロファイルCMake プリセットと多くの設定を共有しており、VCS 経由での共有も可能です。 主な違いは、プロファイルが CLion の ツールチェーンを参照する点です。これには、CMake プリセットに存在せず必要のない情報(デバッガーや環境設定など)が含まれています。

CMake プリセット

CMake プリセット(英語)は、次の 2 つのファイルを使用して CMake オプションを構成および共有する方法です。

  • プロジェクトごとのビルド用の CMakePresets.json 。 このファイルは VCS 経由で共有できます。

  • 開発者自身のローカルビルド用の CMakeUserPresets.json 。 このファイルは VCS にチェックインしないでください。

これらのファイルはどちらも同じ形式で、プロジェクトのルートディレクトリに配置する必要があります。

    CMake プロファイル

    プロファイルには、 ツールチェーンビルド型 、および ジェネレーター環境変数などの CMake オプションが含まれます。 たとえば、異なるコンパイラーを使用したり、異なる設定でターゲットをビルドしたりするために、プロジェクトに複数のプロファイルを構成できます。

    リリースビルド用のプロファイルを追加する例については、次の章を参照してください。

      7。 ビルドタイプ

      これまで作成したすべての実行/デバッグ構成は Debug構成であり、これは自動的に構成された CMake プロファイルのデフォルトビルド型です。

      例: デバッグビルドリリースビルドを分離しましょう。 このために、新しい CMake プロファイルを 設定 | ビルド、実行、デプロイ | CMake に追加 () し、そのビルドタイプを リリース に設定します。

      リリース CMake プロファイルの追加

      ビルド結果の場所を指定する ビルドディレクトリ フィールドに注意してください。 デフォルトのフォルダーは、 デバッグプロファイルの場合は cmake-build-debug リリースプロファイルの場合は cmake-build-release です。 は、他の任意の場所にいつでも設定できます。

      プロファイルを保存すると、スイッチャーに表示されます。

      構成スイッチャーの CMake プロファイル

      8。 インクルードディレクトリの追加

      別のディレクトリにある追加のヘッダーを使用するには、すべてのターゲットまたは一部の特定のターゲットに追加する必要があります。

      1. 例として、プロジェクトルートの下に includes includes/general includes/math の3つのディレクトリを作成します。 プロジェクトツリーのコンテキストメニューで 新規 | ディレクトリ オプションを使用します。

        新しいインクルードディレクトリ
      2. CMakeLists.txt を開き、次のコマンドを追加します。

        target_include_directories (cmake_testapp_lib PUBLIC includes/math) target_include_directories (cmake_testapp_lib PUBLIC includes/general)

        これら 2 つのコマンドにより、 general および math にあるヘッダーを cmake_testapp_lib ターゲットのソースから利用できるようになります。

        例: header_math.h というヘッダーを includes/math フォルダー内に配置すると、 #include "header_math.h" を使用して calc_lib.cpp からヘッダーをインクルードできます。

      静的ライブラリ

      ステップ 4 では、 cmake_testapp_lib という静的ライブラリを作成しました (デフォルトのファイル名は libcmake_testapp_lib.a です)。

      次に、このライブラリをプロジェクトにリンクする方法を見てみましょう。 便宜上、別のフォルダーを作成して使用します。

      1. プロジェクトルートに lib ディレクトリを作成します。

      2. libcmake_testapp_lib.a をデフォルトの場所である cmake-build-debug から lib フォルダーにコピーします。

        lib フォルダー内のライブラリアーティファクト
      3. 次のコマンドを追加して、このライブラリを cmake_testapp ターゲットにリンクします。

        find_library(TEST_LIBRARY cmake_testapp_lib lib) target_link_libraries(cmake_testapp LINK_PUBLIC ${TEST_LIBRARY})
        静的ライブラリのリンク

      動的ライブラリ

      共有 (動的) ライブラリのケースを説明するために、Portable Network Graphics (PNG) ファイルの読み取りおよび書き込み用の C ライブラリである LibPNG(英語) を使用する例を取り上げます。

      vcpkg を使用してライブラリパッケージをインストールする

      CLion は、C/C++ のパッケージマネージャーである vcpkg と統合されます。 これを使用して、IDE から直接ライブラリをすばやくインストールします。

      1. この手順に従って vcpkg をインストールします。

      2. vcpkg ツールウィンドウで libpng を検索します:

        vcpkg で libpng を検索する
      3. 右側のペインで インストール をクリックし、インストールが完了するまで待ちます。

      ライブラリを CMakeLists.txt に追加する

      1. CMakeLists.txt ファイルを開き、次のコマンドを追加します。

        find_package(PNG REQUIRED) include_directories(${PNG_INCLUDE_DIR}) target_link_libraries(cmake_testapp PRIVATE ${PNG_LIBRARY})
      2. ライブラリが正しくリンクされているかどうかを確認するには、ライブラリヘッダーの 1 つを main.cpp に含めてみます。

        LibPNG ヘッダーをインクルードする

        例: png.h を含めます。 次に、 Ctrl+B を押してこのファイルを開くことができます。

        png.h ファイルに移動する

      10。 CMake デバッグ

      CMake の構成中にエラーや望ましくない動作が発生した場合は、プロジェクト内の他のコードと同様に CMake スクリプトをデバッグできます。

      1. 1 つまたは複数の CMakeLists.txt ファイルにブレークポイントを配置します。

      2. 最上位の CMakeLists.txt を開き、最初のコマンドの横にあるガターアイコンをクリックして、 デバッグ を選択します。

        ガターから CMake デバッグセッションを開始する
      3. CLion は CMake デバッグセッションを開始します:

        CMake デバッグセッション

        詳細については、 CMake デバッグ機能 を参照してください。

      11。 CMakeLists.txt の編集に関するヒント

      CLion は、CMake スクリプトを効果的に扱うのに役立つコードインサイト機能を提供します。 例:

      • CMake の 構造ビューには、スクリプトで使用された変数、関数、マクロ、ターゲットが表示されます。 それを開くには、 Alt+7 (ツールウィンドウの場合) または Ctrl+F12 (ポップアップの場合) を押します。

        CMake スクリプトの構造
      • コード補完は、 find_package() などのコマンドの引数を含む、 CMakeLists.txt のほとんどの要素に対して機能します。

        find_package の補完
      • クイックドキュメントポップアップは、コード要素に関する詳細情報を取得できます。 呼び出すには、マウスホバーを使用するか、 Ctrl+Q を押します。

        補完の提案についても簡単なドキュメントを表示できます。

        補完候補のクイックドキュメント
      • 設定 | エディター | カラースキームの切り替え | CMake で CMake ファイルの色とフォントスキームを調整できます。

        CMake の配色設定

      12。 CTest の使用

      この章では、CMake ビルドプロセスの一部としてテストをコンパイルおよび実行するためのフレームワークである CTest(英語) の使用方法について簡単な例を示します。 フレームワークの一般的な説明は、 CTest のサポートにあります。

      サンプルプロジェクトに CTest を追加する

      1. プロジェクトルートに ctest ディレクトリを作成します。

      2. 次のファイルを ctest ディレクトリに追加します。

        • ソースファイル addvalues_zero.cpp 。 現時点では、このファイルを CMake ターゲットにリンクしないでください。

        • ヘッダーファイル assert_macro.h 。 現時点では、このファイルを CMake ターゲットにリンクしないでください。

        • CMakeLists.txt スクリプト。

        CTest 用のフォルダーの追加
      3. ctest/CMakeLists.txt に次の行を追加します。

        cmake_minimum_required(VERSION 3.14.0 FATAL_ERROR) add_executable(ctest_exe_addvalues_zero addvalues_zero.cpp) target_link_libraries(ctest_exe_addvalues_zero LINK_PUBLIC cmake_testapp_lib) add_test(NAME ctest_addvalues_zero COMMAND ctest_exe_addvalues_zero) set_tests_properties(ctest_addvalues_zero PROPERTIES PASS 0)

        最初の行は、CMake のバージョン 3.14 に対応する CTest のサポートされている最小バージョンを示しています。

        ここでは add_test(英語) コマンドを使用して、 ctest_exe_addvalues_zero 実行可能ファイルを CTest に登録しています。

      4. 次に、CTest を有効にして、トップレベルの CMakeLists.txt でサブプロジェクトを宣言する必要があります。

        enable_testing() add_subdirectory(ctest)

        enable_testing(英語) コマンドは、CTest を実行する組み込みのターゲット テスト​タイトル​ を作成します。

      5. プロジェクトを再読み込みしてください。

      テストするコードを追加する

      CTest でテストするコードを準備しましょう。

      1. calc_lib.cpp に簡単な関数を追加します

        int add_values (int a, int b) { return a+b;}
      2. 関連付けられたヘッダー calc_lib.h に、関数宣言を追加します。

        int add_values (int a, int b);
        テストする関数の追加

      テストソース内にコードを追加する

      1. assert_macro.h

        #include <iostream> #include <sstream> #define assertEqual( ... ) \ do { \ if( !( __VA_ARGS__ ) ) { \ std::cerr << "Unit test assert [ " \ << ( #__VA_ARGS__ ) \ << " ] failed in line [ " \ << __LINE__ \ << " ] file [ " \ << __FILE__ << " ]" \ << std::endl; \ err_code = 1; \ } \ } while( false )
      2. addvalues_zero.cpp

        #include "assert_macro.h" #include "../calc_lib.h" int test_addvalues_zero() { int err_code = 0; assertEqual (add_values(0, 0) == 0); assertEqual (add_values(-5, 5) == 0); return err_code; } int main() { return test_addvalues_zero(); }

      CTest 構成を編集する

      1. メインメニューで 実行 | 実行構成の編集​ へ移動します。

      2. CTest アプリケーション ノードに、自動的に作成された すべての CTest 構成があります。

        テスト対象のコードは ctest_exe_addvalues_zero 実行可能ファイルにあるため、構成設定でその実行可能ファイルをビルドターゲットとして選択する必要があります。

        CTest 構成 - ターゲットの変更
      3. 実行するテストリスト フィールドも確認してみましょう。 ペンアイコンをクリックして 利用可能なテストのリスト ダイアログを開くと、一連のテストを表示および調整できます:

        CTest 構成で使用可能なテストのリスト

      CTest 構成を実行して結果を調べる

      1. 構成スイッチャーで すべての CTest を選択し、 実行ボタン をクリックするか、 Shift+F10 を押します。

        CTest 構成の実行
      2. Test Runner ウィンドウで結果を確認します:

        C テストの結果

      13。 お役立ちリンク

      CLion で CMake をさらに深く掘り下げるには、以下を学んでください:

      2026 年 7 月 15 日