CMake

目次

🔧 はじめての CMake|C++ビルドシステムの救世主!

C++の開発で、「g++ コマンドが長くなってきたな…」「複数ファイルや依存関係の管理が大変…」と感じたことはありませんか?
そんなときに頼りになるのが CMake(シーメイク) です!

この記事では、CMakeの役割から基本の使い方まで、初心者向けにわかりやすく紹介します。

🧠 CMakeってなに?

CMakeは C/C++プロジェクトのビルドを管理するツール です。

  • プロジェクトの構造を記述 → ビルド手順を自動生成
  • クロスプラットフォーム対応(Windows, macOS, Linux)
  • Makefile や Visual Studio のプロジェクトも生成可能

つまり、「人間がわかりやすく書いた設定ファイル(CMakeLists.txt)」を元に、「ビルドツールが理解できるファイル(Makefileなど)」を作ってくれるツールなんです。

🏗️ なぜCMakeが便利なの?

  • 複数ファイルやディレクトリでもスッキリ整理
  • 再コンパイルの効率化(必要なファイルだけ再ビルド)
  • 外部ライブラリとの連携が簡単に
  • Visual Studio / Ninja / Unix Makefile など柔軟なビルド対応

📁 最小構成のCMakeプロジェクト

まずはシンプルな構成で試してみましょう。

📂 ファイル構成

my_project/
├── CMakeLists.txt
└── main.cpp

🧾 main.cpp

#include <iostream>

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

📝 CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(MyProject)

add_executable(myapp main.cpp)

🛠️ ビルド手順(ターミナル)

cd my_project
mkdir build
cd build
cmake ..
make
  • cmake ..CMakeLists.txt を元にMakefileを生成
  • make → 実行ファイル myapp をビルド

🔍 CMakeの主なコマンド

コマンド説明
cmake_minimum_required使用するCMakeの最小バージョン指定
project()プロジェクト名を定義
add_executable()実行可能ファイルを生成
add_library()ライブラリを定義
target_link_libraries()ライブラリをリンク
include_directories()インクルードパスを追加(古めの方法)
target_include_directories()モダンCMakeの推奨方法

🎁 CMakeのちょい応用

▶ 複数ソースファイルの指定

よかったらシェアしてね!
目次