Linux で CMake Tools を使い始める
CMake は、コンパイラとプラットフォームに依存しない設定ファイルを使用して、コンパイラとプラットフォーム固有のネイティブビルドツールファイルを生成する、オープンソースのクロスプラットフォームツールです。
CMake Tools 拡張機能は、Visual Studio Code と CMake を統合し、C++ プロジェクトの構成、ビルド、デバッグを容易にします。
このチュートリアルでは、Visual Studio Code 用の CMake Tools 拡張機能を使用して、Linux 上でシンプルな C++ CMake プロジェクトを構成、ビルド、デバッグします。CMake、コンパイラ、デバッガー、ビルドツールをインストールする以外は、このチュートリアルの手順は、Windows などの他のプラットフォームで CMake を使用する方法に一般的に適用されます。
何か問題が発生した場合は、VS Code ドキュメントリポジトリでこのチュートリアルの問題を報告してください。また、CMake Tools 全般に関する詳細については、Visual Studio Code 用 CMake Tools ドキュメントを参照してください。
前提条件
このチュートリアルを Ubuntu で完了するには、以下をインストールしてください。
-
VS Code 用 C++ 拡張機能。拡張機能ビュー (⇧⌘X (Windows、Linux Ctrl+Shift+X)) で 'c++' を検索して C/C++ 拡張機能をインストールします。

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

-
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 ビューの構成ノードとビルドノードの下にあるプロジェクトステータスで確認できます。これらのノードはいつでも選択して、構成プリセットとビルドプリセットを設定または変更できます。

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

CMake キットを使用して構成する
プロジェクトに CMakePresets.json ファイルがない場合は、キットを使用する必要があります。キットはツールチェーンを表します。ツールチェーンは、プロジェクトをビルドするために使用されるコンパイラ、リンカー、およびその他のツールです。
キットをスキャンするには
-
コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) を開き、CMake: キットを選択を実行します。拡張機能は自動的にコンピューター上のキットをスキャンし、システム上で見つかったコンパイラのリストを作成します。
-
使用したいコンパイラを選択します。たとえば、インストールされているコンパイラによっては、次のようなものが表示される場合があります。

以前に選択したキットは、CMake Tools ビューのプロジェクトステータスセクションに表示されます。

キットを変更するには、CMake Tools ビューのプロジェクトステータスセクションでキットを選択するか、コマンドパレットからCMake: キットを選択コマンドを再度実行します。探しているコンパイラが表示されない場合は、プロジェクトの cmake-tools-kits.json ファイルを編集できます。ファイルを編集するには、コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) を開き、CMake: ユーザーローカル CMake キットを編集コマンドを実行します。
次に、バリアントを選択する必要があります。
バリアントには、プロジェクトをビルドする方法に関する指示が含まれています。デフォルトでは、CMake Tools 拡張機能は、それぞれのデフォルトのビルドタイプに対応する 4 つのバリアントを提供します: Debug、Release、MinRelSize、および RelWithDebInfo。これらのオプションは次を実行します。
Debug: 最適化を無効にし、デバッグ情報を含みます。 Release: 最適化を含みますが、デバッグ情報は含みません。 MinRelSize: サイズを最適化します。デバッグ情報は含みません。 RelWithDebInfo: 速度を最適化し、デバッグ情報を含みます。
バリアントを選択するには、コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) を開き、CMake: バリアントを選択コマンドを実行します。

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

選択したバリアントは、ステータスバーのアクティブなキットの横に表示されます。
CMake: 構成
プリセットまたはキット/バリアントで構成設定を選択したら、コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) を開き、CMake: 構成コマンドを実行してプロジェクトを構成します。これにより、選択した構成を使用して、プロジェクトのビルドフォルダーにビルドファイルが生成されます。
Hello World をビルドする
プロジェクトを構成したら、ビルドする準備ができました。コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) を開き、CMake: ビルドコマンドを実行するか、ステータスバーのビルドボタンを選択します。

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

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

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