2.8. その他: CMakeを使ってビルド#
このドキュメントはCMakeを使ってソースコードからGroongaをビルドする方法を説明します。
2.8.1. 必要なソフトウェアのインストール#
以下は、GNU/Linux、UNIX、Windows向けの必要なソフトウェアの一覧です。
2.8.1.1. GNU/LinuxまたはUNIX#
ソースコードに含まれるsetup.sh
を実行してください。
groonga-14.1.1.tar.gz
を展開した場合はgroonga-14.1.1/setup.sh
がそのスクリプトです。
コマンド実行例
$ groonga-14.1.1/setup.sh
setup.sh
はDebian GNU/Linux、Ubuntu、AlmaLinux、Amazon Linux 2023をサポートしています。
2.8.1.1.1. macOS#
Xcodeをインストールしてください。
ソースコードに含まれるsetup.sh
を実行してください。
groonga-14.1.1.tar.gz
を展開した場合はgroonga-14.1.1/setup.sh
がそのスクリプトです。
コマンド実行例
$ groonga-14.1.1/setup.sh
2.8.1.2. Windows#
2.8.2. ソースコードのダウンロード#
packages.groonga.orgから最新のソースコードをダウンロードできます。
2.8.2.1. GNU/LinuxまたはUNIX#
$ wget https://packages.groonga.org/source/groonga/groonga-14.1.1.tar.gz
$ tar xvzf groonga-14.1.1.tar.gz
2.8.2.2. Windows#
最新のzipアーカイブをpackages.groonga.orgからダウンロードしてください。
その後、アーカイブを展開します。
2.8.3. cmake
を実行#
Makefile
のような、あなたの環境用のビルド用ファイルを作る必要があります。
cmake
へオプションを渡してビルドパラメーターをカスタマイズできます。
GNU/Linux or UNIXでのコマンド例
$ cmake -S <Groonga source code directory path> -B <Build directory path> --preset=release-maximum
-S
オプションGroongaのソースコードディレクトリを指定します
ダウンロードして展開したディレクトリを指定します
-B
オプションビルドディレクトリを指定します。
Groongaのソースコードディテクトリの外部にビルド専用のディレクトリを指定します
2.8.3.1. CMake プリセット#
CMakeの3.21.0以降を使うと、ビルド用の設定をまとめたプリセットが利用できます。よく使われるCMakeのオプションの組み合わせが用意してあるので、基本的にはそれらのプリセットをご利用ください。CMakeオプションは個別に設定したい場合にご利用ください。利用できるプリセットは cmake --list-presets
で確認できます。
$ cmake --list-presets
Available configure presets:
"debug-default" - Optional features may not be enabled (debug build)
"release-default" - Optional features may not be enabled (release build)
"release-with-debug-info-default" - Optional features may not be enabled (release build with debug info)
"debug-maximum" - Enable all features (debug build)
"release-maximum" - Enable all features (release build)
"release-with-debug-info-maximum" - Enable all features (release build with debug info)
"doc" - For documentation
"memory-debug" - For memory debug
"benchmark" - For benchmark
2.8.3.2. CMake オプション#
このセクションはCMakeの重要なオプションについて記載しています。
2.8.3.2.1. -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
2.8.3.2.2. -DCMAKE_INSTALL_PREFIX
#
Groongaのインストール先のディレクトリ/フォルダを指定します。
デフォルトはシステムにより異なります。例えば、 /usr/local
や C:/Program Files/groonga
です。
以下はGNU/LinuxまたはUNIXで /tmp/local/
をインストール先として指定する例です。
$ cmake . -DCMAKE_INSTALL_PREFIX="/tmp/local/"
以下はWindowsで C:\Groonga
をインストール先として指定する例です。
> cmake . -DCMAKE_INSTALL_PREFIX="C:\Groonga"
2.8.3.2.3. -DGRN_WITH_MRUBY
#
mrubyサポートを有効化します。
mrubyサポートを有効にすることで シャーディング プラグインと ruby_eval が使用可能になります。
デフォルトは OFF
です。
mrubyサポートが有効な場合、Groongaは同梱しているmrubyをビルドします。そのため、mrubyをビルドするのに必要なライブラリをインストールする必要があります。詳細は mrubyのコンパイルガイド を参照してください。
以下はmrubyサポートを有効にする例です。
$ cmake . -DGRN_WITH_MRUBY=ON
2.8.3.2.4. -DGRN_WITH_DEBUG
#
C/C++コンパイラーのデバッグオプションを有効にします。GDBやLLDBなどのデバッガーでデバッグするときに便利です。
デフォルトは OFF
です。
以下はデバッグオプションを有効にする例です。
$ cmake . -DGRN_WITH_DEBUG=ON
2.8.3.2.5. -DGRN_WITH_APACHE_ARROW
#
Apache Arrowサポートを有効化します。
Apache Arrowサポートを有効化すると、Apache ArrowのIPC streaming formatが使えるだけでなく、 n_workers や query_parallel_or でマルチスレッドで処理できるようになります。
デフォルトは OFF
です。
Apache Arrowは 公式のドキュメントの手順 にしたがってインストールしてください。
以下はApache Arrowサポートを有効にする例です。
$ cmake . -DGRN_WITH_APACHE_ARROW=ON
注釈
Apache Arrowを手動でインストールしている場合、 -DCMAKE_PREFIX_PATH=PATHS オプションを指定してください。
2.8.3.2.6. -DCMAKE_PREFIX_PATH=PATHS
#
.cmake
ファイルの検索パスを追加します。
GNU/LinuxまたはUNIXでは :
で、Windowsでは ;
区切ることで複数のパスを指定できます。
パッケージ管理システムを使用してインストールしたライブラリを使いたい場合は、 CMake のデフォルトの検索パスに .cmake
ファイルが存在するためこのパラメータを指定する必要はありません。
/usr
のようなシステム以外のディレクトリにインストールされたライブラリを使用する場合は、このパラメータでライブラリの .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"
2.8.4. ビルドおよびインストール#
これで、Groongaをビルドできるようになりました。
2.8.4.1. GNU/LinuxまたはUNIX#
以下はGroongaをビルド、インストールするコマンドラインです。
$ cmake --build -B <Build directory path>
$ sudo cmake --install -B <Build directory path>
2.8.4.2. Windows#
以下は -G "Visual Studio 17 2022"
のようにジェネレーターでVisual Studioを指定したときの手順です。
Visual Studioか cmake --build
を使用できます。
以下は cmake --build
を使ってGroongaをビルド、インストールするコマンドラインです。
> cmake --build . --config Release
> cmake --build . --config Release --target Install
デバッグをする場合は、 --config Release
の代わりに --config Debug
を指定してください。