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 でこのチュートリアルを完了するには、以下をインストールしてください

  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 拡張機能。「拡張機能」ビュー (⇧⌘P (Windows、Linux Ctrl+Shift+P)) で「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 リポジトリでご使用のプラットフォームの手順を参照してください。バージョン 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 プロジェクトがすでにある場合は、プロジェクトを構成するために「ハローワールドを構成する」に進んでください。

ハローワールドを構成する

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

  • CMake プリセットを使用する (推奨)
  • CMake Kits/Variants を使用する

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 Kits を使用して構成する

プロジェクトに 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 拡張機能は 4 つのバリアントを提供しており、それぞれがデフォルトのビルドタイプに対応しています: DebugReleaseMinRelSize、および RelWithDebInfo。これらのオプションは次のことを行います。

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: 構成」コマンドを実行してプロジェクトを構成します。これにより、選択した構成を使用してプロジェクトのビルドフォルダーにビルドファイルが生成されます。

ハローワールドをビルドする

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

Build

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

Build Target

ハローワールドをデバッグする

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

Debug

そのまま F5 を押して続行します。

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

次のステップ

© . This site is unofficial and not affiliated with Microsoft.