MENU

【初心者向け】CMakeとは~概要と使い方~

この記事では、CMakeとは?から初歩的な使い方を紹介します。

本記事で使用している環境は以下です。
Ubuntu 24.04 LTS

WindowsPCでUbuntuをインストールする方法は以下の記事で紹介しています。

目次

CMakeとは

CMakeは、クロスプラットフォームのオープンソースビルドシステムで、ソフトウェアプロジェクトのビルドプロセスを管理するために使用されます。主にCやC++のプロジェクトで広く利用されており、プロジェクトの構成、ビルド、テストを簡素化するためのツールです。

  • クロスプラットフォーム対応:Windows、Linux、macOSなど、複数のプラットフォームで動作し、プラットフォームに依存しないビルド設定を記述できる。
  • ジェネレーター機能:Makefile、Ninjaビルドファイル、Visual Studioプロジェクトファイル、Xcodeプロジェクトファイルなど、さまざまなビルドシステムの設定ファイルを生成できる。
  • モジュールシステム:外部ライブラリやパッケージの検出と設定が容易にできる。

CMakeは、その柔軟性クロスプラットフォーム対応広範なビルドシステムサポートにより、多くのプロジェクトで利用されています。MakeやAutotoolsなどのビルドツールと比べて、CMakeはより直感的で設定が簡単で、広範なサポートと標準化された設定が強みとなっています。

参考:CMake

CMakeのインストール

CMakeを利用するために、まずCMakeをインストールします。ターミナルを開き以下のコマンドでCMakeをインストールしてください。

sudo apt install cmake

以下のコマンドでインストールしたCMakeのバージョンを確認できます。

cmake --version

参考までに、私の環境はcmake version 3.28.3です。

CMakeLists.txtの作成

今回のディレクトリ構造は以下です。

HelloWorld/
└── hello.cpp

hello.cppの中身は「Hello World!」を出力するだけの単純なコードです。

#include <iostream>

int main() {
    std::cout << "Hello World!" << std::endl;
    return 0;
}

まず、hello.cppと同じディレクトリにCMakeLists.txtを作成します。

HelloWorld/
├── CMakeLists.txt
└── hello.cpp

CMakeLists.txtには以下の内容を記述してください。

cmake_minimum_required(VERSION 3.10)

# プロジェクト名とバージョン
project(MyProject VERSION 1.0)

# 実行ファイルを生成する
add_executable(Hello hello.cpp)

CMake実行

CMakeをする時はビルド用のディレクトリを作成します。プロジェクトのルートディレクトリにbuild/ディレクトリを作成してください。

mkdir build
HelloWorld/
├── build/
├── CMakeLists.txt
└── hello.cpp

ビルドディレクトリに移動してCMakeを実行します。

cd build
cmake ..

Makefileがbuild/に生成されたので、build/で以下のコマンドを実行し、ビルドします。

make

build/にHelloという名前の実行ファイルが生成されているはずなので、実行してみましょう。

./Hello

「Hello World!」と出力されていればOKです。

最後に

今回はCMakeを使ったビルドを紹介しました。CMakeLists.txtのより詳しい書き方については別の記事で紹介しようと思います。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

20代の組み込みソフトウェアエンジニア
主な使用言語はC++

---------------------資格---------------------
応用情報技術者
ネットワークスペシャリスト

目次