導入とビルド
CMake と C++20 コンパイラーを準備し、実行ファイルをビルドして正しいディレクトリから起動します。
このページの内容
プロジェクトの必要条件
| ツール | 確認されている要件 |
|---|---|
| C++ コンパイラー | C++20 と、std::format を含む使用中の標準ライブラリ機能に対応していること。 |
| CMake | バージョン 3.28 以降。 |
| Git | プロジェクトのクローンと FetchContent による SFML の取得に必要です。 |
| Ninja | このガイドのコマンドで指定するジェネレーターを使う場合に必要です。 |
| インターネット接続 | 初回の構成時に依存ライブラリをダウンロードします。 |
.vscode の設定は Windows、MinGW GCC、Ninja、GDB を使用しています。以下のコマンドは CMakeLists.txt とその設定に基づくもので、認証済みのビルド対応表ではありません。
コードを取得する
各ツールを PATH から実行できるターミナルで、次を実行します。
git clone https://github.com/Arukado01/AwesomeEngine.git
cd AwesomeEngine
このドキュメントとまったく同じコードを確認するには、新しく取得したコピーで対象リビジョンを選択します。
git checkout 5a6dfacd86414c4cdfaa7157b533330f173a3126
最後のコマンドは作業コピーを特定のコミットに切り替えます。変更を開発する場合は、作業を始める前に自分のブランチを作成してください。各ソースへのリンクも同じリビジョンを指しているため、将来の更新との差分を比較できます。
構成とビルド
cmake -S . -B Build -G Ninja -DCMAKE_BUILD_TYPE=Debug
cmake --build Build --parallel
CMake は Engine/Source と Games/Source の .cpp ファイルをまとめ、AwesomeEngine という単一の実行ファイルを作ります。依存ライブラリは FetchContent で取得します。
- SFML 3.1.0。
- nlohmann/json 3.12.0。
- spdlog 1.16.0。
- TGUI 1.13.0。
- magic_enum 0.9.8。
Release ビルドを別に作る場合は、次を実行します。
cmake -S . -B BuildRelease -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build BuildRelease --parallel
プロジェクトには MSVC 向けのコンパイラーオプションもありますが、上記の手順では Ninja と環境内のコンパイラーを使用します。同じビルドディレクトリで異なるジェネレーターやコンパイラーを混在させないでください。
Windows で実行する
ターミナルの作業ディレクトリを、Content があるリポジトリのルートに保ちます。
.\Build\AwesomeEngine.exe
対象リビジョンは初期シーンとして Tetris を指定します。このリビジョンには動作するゲーム選択画面が登録されていません。初期シーンは Engine.cpp で定義されています。
作業ディレクトリは重要です。設定、シェーダー、フォントなどのリソースは Content/Config.json のような相対パスで読み込まれます。Build から起動すると、エンジンがそれらを見つけられないことがあります。
VS Code での作業
リポジトリにはビルドタスクと GDB によるデバッグ設定があります。実行ファイルのパスは Build/AwesomeEngine.exe、作業ディレクトリはルートです。
エディター設定の一部には作者の PC の絶対パスが含まれています。コンパイラーやツールのパスは自分の環境に合わせて変更してください。そのまますべての環境に適用できる要件ではありません。
ビルドや起動に失敗した場合
トラブルシューティングでは、ツール、依存関係のダウンロード、リソース、コードの既知の制限を分けて説明しています。このガイドではインストーラーやマルチプラットフォームのバイナリは配布していません。