Linux で CMake Tools を始めましょう

CMake は、コンパイラおよびプラットフォームに依存しない構成ファイルを使用して、使用しているコンパイラとプラットフォームに固有のネイティブビルドツールファイルを生成する、オープンソースのクロスプラットフォームツールです。

CMake Tools 拡張機能は、Visual Studio Code と CMake を統合し、C++ プロジェクトの構成、ビルド、デバッグを容易にします。

このチュートリアルでは、Visual Studio Code 用 CMake Tools 拡張機能を使用して、Linux 上でシンプルな C++ CMake プロジェクトを構成、ビルド、デバッグします。CMake、コンパイラ、デバッガー、ビルドツールをインストールする以外に、このチュートリアルの手順は、Windows など、他のプラットフォームで CMake を使用する方法にも一般的に適用できます。

問題が発生した場合は、VS Code ドキュメントリポジトリにこのチュートリアルに関する issue を提出してください。また、CMake Tools 全般の詳細については、「Visual Studio Code 用 CMake Tools ドキュメント」を参照してください。

前提条件

Ubuntu でこのチュートリアルを完了するには、以下をインストールしてください

  1. Visual Studio Code.

  2. VS Code 用 C++ 拡張機能。「拡張機能」ビュー (⇧⌘X (Windows、Linux Ctrl+Shift+X)) で「c++」を検索して C/C++ 拡張機能をインストールします。

    C/C++ extension

  3. VS Code 用 CMake Tools 拡張機能。「拡張機能」ビュー (⇧⌘X (Windows、Linux Ctrl+Shift+X)) で「CMake tools」を検索して CMake Tools 拡張機能をインストールします。

    CMake tools extension

  4. CMake、コンパイラ、デバッガー、およびビルドツールもインストールする必要があります。

ビデオ: ビルドシステムとは?CMake をプロジェクトに追加するには?

ビルドシステムがいつ役に立つのか、CMake をプロジェクトに設定する方法を理解するために、このビデオをご覧ください。または、以下のセクションの手順に従ってください。

CMake がインストールされていることを確認してください

VS Code CMake Tools 拡張機能は、システムにインストールされている CMake を使用して動作します。最良の結果を得るには、CMake バージョン 3.27 以降を使用してください。

CMake がシステムに既にインストールされているかどうかを確認してください。ターミナルウィンドウを開き、次のコマンドを入力します

cmake --version

CMake をインストールするか、バージョン 3.27 以降がない場合は、Kitware APT Repository でプラットフォームの手順を参照してください。バージョン 3.27 以降をインストールしてください。

開発ツールがインストールされていることを確認してください

VS Code を使用してソースコードを編集しますが、コンパイラ、デバッガー、およびビルドツール (例: make) を使用してソースコードをコンパイルおよびデバッグします。

Ubuntu でのこのチュートリアルでは、GCC コンパイラ、デバッグに GDB、プロジェクトのビルドに make を使用します。これらのツールは Ubuntu にデフォルトではインストールされていないため、インストールする必要があります。幸いなことに、それは簡単です。

GCC がインストールされているか確認してください

GCC がシステムに既にインストールされているかどうかを確認するには、ターミナルウィンドウを開き、次のコマンドを入力します

gcc -v

GCC がインストールされていない場合は、ターミナルウィンドウから次のコマンドを実行して、Ubuntu パッケージリストを更新します。古い Linux ディストリビューションは、最新のパッケージの取得を妨げる可能性があります。

sudo apt-get update

次に、GNU コンパイラ、make、および GDB デバッガーを次のコマンドでインストールします

sudo apt-get install build-essential gdb

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

既存の CMake プロジェクトがない場合は、「CMake プロジェクトを作成する」の手順に従ってください。

ルートディレクトリに CMakeLists.txt ファイルを持つ既存の CMake プロジェクトが既にある場合は、「Hello World を構成する」に進んでプロジェクトを構成してください。

Hello World を構成する

CMake Tools 拡張機能を使用してプロジェクトをビルドする前に、システム上のコンパイラについて認識するように構成する必要があります。VS Code で CMake を構成するには、次の 2 つの方法があります。

  • CMake プリセットを使用する (推奨)
  • CMake キット/バリアントを使用する

CMake プリセットを使用して構成する

CMake 構成の管理には CMake プリセットを使用することをお勧めします。CMake プリセットを使用すると、プロジェクトのすべての構成を保存する共通の JSON ファイルを指定できます。その後、このファイルを他のユーザーと、異なる IDE 間、異なるオペレーティングシステム間で共有できます。

「CMake プロジェクトを作成する」の手順に従ってプロジェクトを作成した場合、プロジェクトは CMake プリセットを使用するように構成されています。

プロジェクトに CMakePresets.json ファイルがある場合は、構成およびビルドプリセットを使用して、マシン上でプロジェクトをビルドする方法を指定できます。

プリセットのアクティブな構成は、CMake Tools ビューの [プロジェクトの状態] の [構成] および [ビルド] ノードの下に表示されます。これらのノードはいつでも選択して、構成およびビルドプリセットを設定または変更できます。

CMake Side Panel with presets

コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) で [CMake: 構成プリセットを選択] または [CMake: ビルドプリセットを選択] コマンドを実行して、プリセットを設定することもできます。

CMake Select presets

CMake キットを使用して構成する

プロジェクトに CMakePresets.json ファイルがない場合は、キットを使用する必要があります。キットはツールチェーンを表し、これはコンパイラ、リンカー、およびプロジェクトのビルドに使用されるその他のツールです。

キットをスキャンするには

  1. コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) を開き、[CMake: キットを選択] を実行します。拡張機能は、コンピューター上のキットを自動的にスキャンし、システムで見つかったコンパイラのリストを作成します。

  2. 使用するコンパイラを選択します。たとえば、インストールしたコンパイラによっては、次のようなものが表示される場合があります。

    Select the kit

    以前に選択したキットが、CMake Tools ビューの [プロジェクトの状態] セクションに表示されるようになりました。

    Selected kit in Sidebar

キットを変更するには、CMake Tools ビューの [プロジェクトの状態] セクションでキットを選択するか、コマンドパレットから [CMake: キットを選択] コマンドを再度実行します。探しているコンパイラが表示されない場合は、プロジェクトの cmake-tools-kits.json ファイルを編集できます。ファイルを編集するには、コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) を開き、[CMake: ユーザーローカル CMake キットを編集] コマンドを実行します。

次に、バリアントを選択する必要があります。

バリアントには、プロジェクトをビルドする方法の手順が含まれています。デフォルトでは、CMake Tools 拡張機能は、デフォルトのビルドタイプ (DebugReleaseMinRelSizeRelWithDebInfo) にそれぞれ対応する 4 つのバリアントを提供します。これらのオプションは次のことを行います。

Debug: 最適化を無効にし、デバッグ情報を含めます。Release: 最適化を含みますが、デバッグ情報は含みません。MinRelSize: サイズを最適化します。デバッグ情報はありません。RelWithDebInfo: 速度を最適化し、デバッグ情報を含めます。

バリアントを選択するには、コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) を開き、[CMake: バリアントを選択] コマンドを実行します。

Select variant

ビルドにデバッグ情報を含めるには、[Debug] を選択します。

Select debug variant type

選択したバリアントは、ステータスバーのアクティブなキットの横に表示されます。

CMake: 構成

プリセットまたはキット/バリアントを介して構成設定を選択したので、コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) を開き、[CMake: 構成] コマンドを実行してプロジェクトを構成します。これにより、選択した構成を使用して、プロジェクトのビルドフォルダーにビルドファイルが生成されます。

hello world をビルドする

プロジェクトを構成したら、ビルドする準備ができました。コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) を開き、[CMake: ビルド] コマンドを実行するか、ステータスバーの [ビルド] ボタンを選択します。

Build

コマンドパレットから [CMake: ビルドターゲットを設定] を選択して、ビルドするターゲットを選択できます。デフォルトでは、CMake Tools はすべてのターゲットをビルドします。選択したターゲットは、CMake Tools サイドバーの [プロジェクトの状態] ビューの [ビルド] ノードの下に表示され、そこから設定することもできます。

Build Target

hello world をデバッグする

プロジェクトを実行およびデバッグするには、main.cpp を開き、std::cout 行にブレークポイントを設定します。次に、コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) を開き、[CMake: デバッグ] を実行します。デバッガーは std::cout 行で停止します

Debug

F5 キーを押して続行してください。

これで、VS Code CMake Tools 拡張機能を使用して CMake を使用して Ubuntu 上で C++ アプリをビルドおよびデバッグしました。手順は他のプラットフォームでも同じです。違いは、選択したプラットフォーム用の CMake とコンパイラ/デバッガーのインストール方法です。他のプラットフォーム用のコンパイラ/デバッガーの設定手順については、以下を参照してください。

次のステップ