このレポジトリは、 GRPC をビルドしてシステムにインストールするためのスクリプトや、CMake プロジェクトに統合するための設定ファイルを管理するレポジトリです。
ビルドターゲットのプラットフォーム
- macOS
- iOS
- Windows
- Linux
macOS 用には、 x86_64 と arm64 の universal binary としてライブラリがビルドされます。 iOS 用には、 arm64 のバイナリのみがビルドされます。
以下に必要なバイナリがあれば、それをダウンロードしてインストールするのが早いです。
インストール手順:
- 上記リンクから、必要なファイルをダウンロード
- 解凍すると、
install-macOS-arm64
のようなフォルダになる。 v1.68.2
のようにバージョン名でディレクトリを作る。- 3 で作ったディレクトリに 2 で解凍してできたフォルダを配置する。
- 最終的には以下のようなディレクトリ構造になる。
grpc-installer
├── README.md
├── cmake
│ └── grpc.cmake
├── install.sh
└── v1.68.2
├── install-iOS-arm64
└── install-macOS-universal
cd /path/to/develop
git clone [email protected]:magnetica-studio/grpc-installer.git
cd grpc-installer
# 目的のバージョン(タグ名)を指定して install.sh スクリプトファイルを実行します。
./install.sh v1.68.2
# 指定したバージョン名のディレクトリで macOS 用と iOS 用それぞれの GRPC がビルド/インストールされます。
# `build-*` ディレクトリがビルドディレクトリ、 `install-*` ディレクトリがインストールディレクトリになります。
# `build-*` ディレクトリは、ビルド/インストール完了後には使用しないので、削除しても問題ありません。
ls -la ./v1.68.2
GRPC を利用する C++ プロジェクトの CMakeLists.txt から、以下のように cmake/grpc.cmake
をインクルードします。
set(TARGET_GRPC_VERSION "v1.68.2")
include("/path/to/develop/grpc-installer/cmake/grpc.cmake")
これによって以下の変数が用意されます
_PROTOBUF_LIBPROTOBUF
: ProtocolBuffer のインクルード/リンク設定を含むターゲットを表す変数_GRPC_GRPCPP
: GRPC のgRPC::grpc++
ターゲットを表す変数_PROTOBUF_PROTOC
: protoc コマンドのパス(iOS 向けのビルド時も macOS 用にビルドした方のコマンドのパスになる。)_GRPC_CPP_PLUGIN_EXECUTABLE
: grpc_cpp_plugin コマンドのパス(iOS 向けのビルド時も macOS 用にビルドした方のコマンドのパスになる。)