CMakeを使ってGroongaをビルドする方法

このドキュメントはCMakeを使ってソースコードからGroongaをビルドする方法を説明します。

インストール にある特定環境用のドキュメントに、CMakeでビルドする際のその環境向けのより詳細な情報があります。特定環境用のドキュメントがある場合は、まずそちらを参照してください。

必要なソフトウェアのインストール

以下は、GNU/Linux、UNIX、Windows向けの必要なソフトウェアの一覧です。

TODO

GNU/LinuxまたはUNIX

Windows

ソースコードのダウンロード

packages.groonga.org から最新のソースコードをダウンロードできます。

GNU/LinuxまたはUNIX

$ wget https://packages.groonga.org/source/groonga/groonga-13.0.0.tar.gz
$ tar xvzf groonga-13.0.0.tar.gz

Windows

最新のzipアーカイブをpackages.groonga.orgからダウンロードしてください。

その後、アーカイブを展開します。

cmake を実行

Makefile のような、あなたの環境用のビルド用ファイルを作る必要があります。

cmake へオプションを渡してビルドパラメーターをカスタマイズできます。

CMake オプション

このセクションはCMakeの重要なオプションについて記載しています。

-G GENERATOR

ジェネレータを指定します。

デフォルトはシステムよって異なります。

cmake --help でデフォルトのジェネレータと、利用可能なジェネレータを確認することができます。

$ cmake --help
...
The following generators are available on this platform (* marks default):
  Green Hills MULTI            = Generates Green Hills MULTI files
                                (experimental, work-in-progress).
* Unix Makefiles               = Generates standard UNIX makefiles.
  Ninja                        = Generates build.ninja files.
  Ninja Multi-Config           = Generates build-<Config>.ninja files.
  Watcom WMake                 = Generates Watcom WMake makefiles.
  CodeBlocks - Ninja           = Generates CodeBlocks project files.
  CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
  CodeLite - Ninja             = Generates CodeLite project files.
  CodeLite - Unix Makefiles    = Generates CodeLite project files.
  Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.
  Kate - Ninja                 = Generates Kate project files.
  Kate - Unix Makefiles        = Generates Kate project files.
  Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
  Sublime Text 2 - Unix Makefiles

以下はGNU/LinuxまたはUNIXで Unix Makefiles をジェネレータに指定する例です。

$ cmake . -G "Unix Makefiles"

以下はWindowsで Visual Studio 17 2022 x64 をジェネレータに指定する例です。-A オプションでプラットフォーム(アーキテクチャ)を指定できます。

> cmake . -G "Visual Studio 17 2022" -A x64

-DCMAKE_INSTALL_PREFIX

Groongaのインストール先のディレクトリ/フォルダを指定します。

デフォルトはシステムにより異なります。例えば、 /usr/localC:/Program Files/groonga です。

以下はGNU/LinuxまたはUNIXで /tmp/local/` をインストール先として指定する例です。

$ cmake . -DCMAKE_INSTALL_PREFIX="/tmp/local/"

以下はWindowsで C:\Groonga をインストール先として指定する例です。

> cmake . -DCMAKE_INSTALL_PREFIX="C:\Groonga"

-DGRN_WITH_MRUBY

mrubyサポートを有効化します。

mrubyサポートを有効にすることで シャーディング プラグインと ruby_eval が使用可能になります。

デフォルトは OFF です。

mrubyサポートが有効な場合、Groongaは同梱しているmrubyをビルドします。そのため、mrubyをビルドするのに必要なライブラリをインストールする必要があります。詳細は mrubyのコンパイルガイド を参照してください。

以下はmrubyサポートを有効にする例です。

$ cmake . -DGRN_WITH_MRUBY=ON

-DGRN_WITH_DEBUG

C/C++コンパイラーのデバッグオプションを有効にします。GDBやLLDBなどのデバッガーでデバッグするときに便利です。

デフォルトは OFF です。

以下はデバッグオプションを有効にする例です。

$ cmake . -DGRN_WITH_DEBUG=ON

-DGRN_WITH_APACHE_ARROW

Apache Arrowサポートを有効化します。

Apache Arrowサポートを有効化すると、Apache ArrowのIPC streaming formatが使えるだけでなく、 n_workersquery_parallel_or でマルチスレッドで処理できるようになります。

デフォルトは OFF です。

Apache Arrowは 公式のドキュメントの手順 にしたがってインストールしてください。

以下はApache Arrowサポートを有効にする例です。

$ cmake . -DGRN_WITH_APACHE_ARROW=ON

注釈

Apache Arrowを手動でインストールしている場合、 -DCMAKE_PREFIX_PATH=PATHS オプションを指定してください。

-DCMAKE_PREFIX_PATH=PATHS

.cmake ファイルの検索パスを追加します。

GNU/LinuxまたはUNIXでは : で、Windowsでは ; 区切ることで複数のパスを指定できます。

パッケージ管理システムを使用してインストールしたライブラリを使いたい場合は、 CMake のデフォルトの検索パスに .cmake ファイルが存在するためこのパラメータを指定する必要はありません。

使用してインストールしたライブラリを使いたい場合は、 CMake のデフォルトの検索パスに .cmake ファイルが存在するためこのパラメータを指定する必要はありません。

以下はGNU/LinuxまたはUNIXで /tmp/arrow/cmake/arrowConfig.cmake.cmake ファイルを指定する例です。

$ cmake . -DCMAKE_PREFIX_PATH="/tmp/local"

以下はWindowsで C:\arrow\lib\cmake\Arrow\ArrowConfig.cmake.cmake ファイルを指定する例です。

> cmake . -DCMAKE_PREFIX_PATH="C:\arrow"

ビルドおよびインストール

これで、Groongaをビルドできるようになりました。

GNU/LinuxまたはUNIX

make が使用できます。

以下は make を使ってGroongaをビルド、インストールするコマンドラインです。

$ make -j$(nproc || PATH="/sbin:$PATH" sysctl -n hw.ncpu) > /dev/null
$ sudo make install

警告メッセージとエラーメッセージだけが見えるように make 時に > /dev/null をつけることを推奨します。開発者は新しいコミットで警告メッセージもエラーメッセージも増やすべきではありません。

Windows

Visual Studioか cmake --build を使用できます。

以下は cmake --build を使ってGroongaをビルド、インストールするコマンドラインです。

> cmake --build . --config Release
> cmake --build . --config Release --target Install

デバッグをする場合は、 --config Release の代わりに --config Debug を指定してください。