← ソースコード説明書

macOS ビルドガイド

作成日: 2026-03-06 / 更新日: 2026-06-10

概要

macOS (Apple Silicon / Intel) でネイティブエンジンをビルドし、背景・立ち絵・テキストが表示される状態まで持っていく手順。SDL2 + OpenGL で動作する。

共通手順(リポジトリ clone / SDL2 ソース取得 / CMake の基本 / 共通ハマり)は ビルドガイド共通 を参照。本書は macOS 固有の差分を記載する(macOS は Homebrew 版 SDL2 が使える点が他プラットフォームとの主な差)。

前提条件

ツールバージョンインストール
macOS12+ (Monterey 以降)
Xcode Command Line Tools14+xcode-select --install
CMake3.16+brew install cmake
Homebrew最新brew.sh
SDL2 + satellite libs2.30+brew install sdl2 sdl2_image sdl2_ttf sdl2_mixer

Homebrew でまとめてインストール

brew install cmake sdl2 sdl2_image sdl2_ttf sdl2_mixer

Step 1: リポジトリのクローンと依存インストール

git clone https://github.com/mkanakureon/kaedevn-monorepo.git
cd kaedevn-monorepo

# Homebrew 版 SDL2 を使う場合はソース取得不要。
# ソースからビルドしたい場合のみ SDL2 ソースを取得(packages/native-engine/external/ に配置)
bash scripts/build/download-sdl2-sources.sh

# Node.js 依存(Web 側が必要な場合)
npm install

Step 2: ネイティブエンジンのビルド

cd packages/native-engine
mkdir -p build && cd build

# Configure
cmake ..

# Build(CPU コア数に応じて並列)
cmake --build . -j$(sysctl -n hw.ncpu)

成功すると kaedevn_native バイナリが生成される。

ビルド出力

packages/native-engine/build/
├── kaedevn_native          # メインバイナリ
└── unit_tests              # C++ ユニットテスト

Step 3: 実行

# ビルドディレクトリから実行(assets は相対パスで参照)
cd packages/native-engine
./build/kaedevn_native

ウィンドウが開き、背景・立ち絵・日本語テキストが表示される。

テスト実行

./build/unit_tests

Step 4: SDL2 ソースの取得(任意)

Homebrew 版ではなく SDL2 をソースからビルドしたい場合のみ、共通ガイド Step 2bash scripts/build/download-sdl2-sources.sh で取得する。取得後、Step 2 と同じ CMake 手順でビルドするとソース版 SDL2 がリンクされる。通常の macOS ビルドでは Homebrew 版で十分なので不要。

ハマりポイント

1. sdl2-config / pkg-config が SDL2 を見つけない

症状: cmake ..SDL2 not found エラー。

原因: Homebrew が /opt/homebrew (Apple Silicon) にインストールするが、CMake のデフォルト検索パスに含まれていない。

解決:

# CMakeLists.txt に以下が必要(すでに設定済み)
list(APPEND CMAKE_PREFIX_PATH "/opt/homebrew")

もし手動でビルドする場合は環境変数で指定:

cmake .. -DCMAKE_PREFIX_PATH=/opt/homebrew

2. SDL2_image / SDL2_ttf / SDL2_mixer のリンクエラー

症状: pkg_check_modulesSDL2_image REQUIRED が失敗。

原因: pkg-config が Homebrew のパスを見ていない。

解決:

export PKG_CONFIG_PATH="/opt/homebrew/lib/pkgconfig"

3. OpenGL フレームワークが見つからない

症状: リンク時に OpenGL framework not found

原因: Xcode Command Line Tools のみの環境では OpenGL ヘッダが不足する場合がある。

解決:

xcode-select --install
# または Xcode をフルインストール

4. #include <SDL2/SDL.h> が解決できない

症状: コンパイル時に 'SDL2/SDL.h' file not found

原因: Homebrew でインストールした SDL2 のヘッダパスが SDL2/ サブディレクトリになっている場合とそうでない場合がある。

解決: CMakeLists.txt の find_package(SDL2 REQUIRED CONFIG) が正しく設定されていれば自動解決される。手動で追加する場合:

cmake .. -DSDL2_DIR=/opt/homebrew/lib/cmake/SDL2

5. クリーンビルドが必要なとき

CMake のキャッシュが壊れた場合:

rm -rf packages/native-engine/build
mkdir -p packages/native-engine/build && cd packages/native-engine/build
cmake .. && cmake --build . -j$(sysctl -n hw.ncpu)

クイックリファレンス

# === セットアップ ===
brew install cmake sdl2 sdl2_image sdl2_ttf sdl2_mixer
# (ソースから SDL2 をビルドする場合のみ)bash scripts/build/download-sdl2-sources.sh

# === ビルド ===
cd packages/native-engine
mkdir -p build && cd build && cmake .. && cmake --build . -j$(sysctl -n hw.ncpu)

# === 実行 ===
cd packages/native-engine && ./build/kaedevn_native

# === テスト ===
./build/unit_tests

# === クリーンビルド ===
rm -rf build && mkdir build && cd build && cmake .. && cmake --build . -j$(sysctl -n hw.ncpu)
Ad: stickyBottom (728x90)
kaedevn - ノベルゲームを作れるプラットフォーム