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 でこのチュートリアルを完了するには、以下をインストールしてください
-
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 拡張機能は、デフォルトのビルドタイプ (Debug
、Release
、MinRelSize
、RelWithDebInfo
) にそれぞれ対応する 4 つのバリアントを提供します。これらのオプションは次のことを行います。
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++ 拡張機能の概要を確認してください