Introduction
注記:本記事記載のHarfBuzzはOpenCV 4.5.2をMSVCでビルドした際にエラーを発生させております。原因は不明です。後述記事のOpenCV Optional Tools (Part 6: HarfBuzz & FreeType)にて、HarfBuzzをCMakeとMSVCでビルドしますので、そちらをご参照願います。現状、本稿での正誤は確認出来ませんので、現時点(2021/07/19)では参考程度として頂きたく存じます。
本稿ではOpenCV Optional Toolsのインストールと設定について、以下の項目を述べます。
それでは、参りましょう。
Ninja
Prepare for Qt Build on Windows 10 (Part 1)にてNinjaについて記載しておりますが、実行ファイルからのインストールであった為に、Windowsとは相性が良く無かった様です。
今回はソースファイルからインストールします。Ninjaは後述のMesonでは必須とされています。
先ず、Gitからソースコードをダウンロードします。Windows PowerShellにてNinjaをインストールするフォルダーに移動し、以下のコマンドを実行します。
(Command Prompt) e:\Ninja> git clone git://github.com/ninja-build/ninja.git
次に、Chocolateyを使ってNinjaをインストールします。以下のコマンドを実行しましょう。
(Command Prompt) e:\Ninja> choco install ninja
無事にインストールが完了した事を確認しましょう。
Meson
The Meson Build systemは高速でユーザーフレンドリーなオープンソースのビルドシステムです。
インストールにはPIPを使います。管理者権限でPowerShell Terminalを開き、下記のコマンドを実行します。
(Command Prompt) e:\> pip3 install mason
これだけで、Mesonがダウンロードされ、インストールされます。
HarfBuzz
HarfBuzzとはText Shaping Libraryです。これを使うことによって、Unicodeの入力を適切な形式で、如何なる書式/言語であっても、glyph出力で配置出来ます。
インストールを必要とする理由は、OpenCV Optional Tools (Part 1: NumPy & Eigen)とOpenCV Optional Tools (Part 2: OpenEXR, zlib, imath)の後にOpenCV-4.5.2の設定を試みたところ、CMakeにHarfBuzzを要求されました。よって、インストールします。
ソースコードはGitからダウンロード出来ます。以下のURLからダウンロードしましょう。
GitHub - harfbuzz/harfbuzz: HarfBuzz text shaping engine Download: https://github.com/harfbuzz/harfbuzz
次に、PowerShell Command PromptからThe Meson Build systemを使ってライブラリーをビルドします。Mesonコマンドの2項目(meson build & meson compile -C build)を順に実行しましょう。1つ毎に記します。
(Command Prompt) e:\HarfBuzz\harfbuzz > mason build
ここで、コマンド実行の終了を待ちます。
更に、もう1つのコマンドを実行します。
(Command Prompt) e:\HarfBuzz\harfbuzz > mason compile -C build
コマンド実行が問題無く終了したところで、ライブラリーファイルを確認しましょう。ライブラリーは通常
Library Location: ..\harfbuzz\build\src\
のフォルダー内に位置する
Library File: libharfbuzz-0.dll
となります。
以上で、HarfBuzz Libraryのビルドは完了です。
Conclusion
如何でしたか。本稿ではOpenCV Optional Toolsに関し、NinjaとMesonとHarfBuzzを記載し、インストール手順を列記しました。最後までお読みいただき、ありがとうございました。