Visual Studio で CMake Linux プロジェクトを作成する

Linux サポートは Visual Studio 2017 以降で使用できます。 これらのバージョンのドキュメントを表示するには、目次の上にある [バージョン] ドロップダウンを Visual Studio 2017 または Visual Studio 2019 に設定します。

クロスプラットフォームのプロジェクトまたはオープンソースにするプロジェクトには、CMake を使用することをお勧めします。 CMake プロジェクトを使用すると、Windows、Linux 用 Windows サブシステム (WSL)、リモート システムで、同じソース コードをビルドしてデバッグすることができます。

開始する前に

まず、CMake コンポーネントが含まれる Visual Studio Linux ワークロードがインストールされていることを確認します。 それは、Visual Studio インストーラーの [C++ による Linux 開発] ワークロードに含まれています。 それがインストールされているかわからない場合は、「Visual Studio で C++ の Linux ワークロードをインストールする」を参照してください。

また、リモート マシンに次のものがインストールされていることを確認します。

  • gcc
  • gdb
  • rsync
  • zip
  • ninja-build (Visual Studio 2019 以降)

Visual Studio で CMake を利用するには、CMake 3.8 で導入されたサーバー モードに対応する必要があります。 Microsoft から提供されている CMake バリアントについては、https://github.com/Microsoft/CMake/releases から最新のビルド済みバイナリをダウンロードします。

バイナリは ~/.vs/cmake にインストールされます。 バイナリを配布すると、プロジェクトが自動的に再生成されます。 CMakeSettings.jsoncmakeExecutable フィールドで指定する CMake が無効 (存在しない、またはサポートされていないバージョン) で、かつビルド済みバイナリが存在している場合は、Visual Studio では cmakeExecutable が無視され、ビルド済みバイナリが使われます。

Visual Studio 2017 では、CMake プロジェクトを最初から作成することはできませんが、次のセクションで説明するように、既存の CMake プロジェクトが含まれるフォルダーを開くことはできます。

Visual Studio 2019 を使用すると、リモート Linux システムまたは WSL でビルドとデバッグを行うことができ、そのシステムで CMake が呼び出されます。 ターゲット マシンに Cmake バージョン 3.14 以降がインストールされている必要があります。

ターゲット マシンに CMake の最新バージョンがあることを確認します。 ディストリビューションの既定のパッケージ マネージャーで提供されるバージョンは、しばしば最新ではなく、Visual Studio で必要なすべての機能はサポートされていません。 Visual Studio 2019 では、Linux システムに CMake の最新バージョンがインストールされているかどうかを検出します。 見つからない場合、Visual Studio のエディター ウィンドウの上部に、情報バーが表示されます。 https://github.com/Microsoft/CMake/releases から CMake をインストールすることができます。

Visual Studio 2019 を使用すると、CMake プロジェクトを最初から作成することも、既存の CMake プロジェクトを開くこともできます。 新しい CMake プロジェクトを作成するには、以下の手順のようにします。 または、既に CMake プロジェクトがある場合は、「CMake プロジェクト フォルダーを開く」に進んでください。

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

Visual Studio 2019 で新しい Linux CMake プロジェクトを作成するには:

  1. Visual Studio で [ファイル] > [新しいプロジェクト] の順に選択するか、Ctrl + Shift + N キーを押します。
  2. [言語][C++] に設定し、「CMake」を検索します。 その後、 [次へ] をクリックします。 [名前][場所] を入力し、 [作成] を選択します。

または、Visual Studio 2019 で独自の CMake プロジェクトを開くこともできます。 次のセクションでは、その方法について説明します。

Visual Studio では、実行可能ファイルの名前と、要求される最小の CMake バージョンのみを使用して、最小限の CMakeLists.txt ファイルが作成されます。 このファイルは手動で自由に編集できます。Visual Studio によって変更が上書きされることはありません。

Visual Studio 2019 で CMake スクリプトを理解し、編集し、作成する方法については、次のリソースを参照してください。

CMake プロジェクト フォルダーを開く

既存の CMake プロジェクトを含むフォルダーを開くと、Visual Studio では CMake キャッシュの変数が使用され、IntelliSense とビルドが自動的に構成されます。 ローカルの構成とデバッグの設定は、JSON ファイルに格納されます。 必要に応じて、Visual Studio を使用している他のユーザーとこれらのファイルを共有することもできます。

Visual Studio では、CMakeLists.txt ファイルは変更されません。 これにより、同じプロジェクトで作業している他のユーザーが、既存のツールを引き続き使用できます。 Visual Studio では、CMakeLists.txt (場合によっては CMakeSettings.json) の編集が保存されると、キャッシュが再生成されます。 既存のキャッシュ構成が使用されている場合、Visual Studio によるキャッシュの変更は行われません。

Visual Studio での CMake のサポートに関する一般的な情報については、「Visual Studio の CMake プロジェクト」を参照してください。 それを読んでから、ここでの作業を進めてください。

最初に、メイン メニューから [ファイル]>[開く]>[フォルダー] の順に選択するか、開発者コマンド プロンプト ウィンドウに「devenv.exe <foldername>」と入力します。 開いたフォルダーには、ソース コードと共に CMakeLists.txt ファイルが入っているはずです。

次のサンプルでは、単純な CMakeLists.txt ファイルと .cpp ファイルを確認できます。

// hello.cpp

#include <iostream>

int main(int argc, char* argv[])
{
    std::cout << "Hello from Linux CMake \n";
}

CMakeLists.txt:

cmake_minimum_required(VERSION 3.8)
project (hello-cmake)
add_executable(hello-cmake hello.cpp)

次の手順

Linux CMake プロジェクトを構成する

関連項目

Visual Studio の CMake プロジェクト