NeovimをWindowsでビルドする方法です。
Neovimのクライアントを開発中に、Neovimをデバッガーでアタッチしたいことが多々出てきたので、Neovimをビルドしてみました。
環境
- Windows 10
- Visual Studio 2017 Community
- CMake 3.13.4
- git 2.20.1
執筆時点のCMakeの最新安定板は3.14だったが、CMakeでVisual Studio 2017のソリューションを生成するときにエラーが出たので、ひとつ前の安定板を使用。
参考サイト
ビルド
64bit Debug版 をVisual Studio 2017でビルドする手順です。今回はデバッグ目的なので、'Debug構成でビルドする'ということが重要です。
参考サイトではpower shellを使用していますが、特にpower shellの機能は必要ないので、コマンドプロンプトを使用しています。
準備
- CMakeとgitにパスを通しておく。
- neovimをクローン
> git clone https://github.com/neovim/neovim
執筆時点の最新リビジョンはv0.3.4の近辺。
依存ライブラリのビルド
> cd (クローンしたneovimのディレクトリ)
> mkdir .deps
> cd .deps
> cmake -G "Visual Studio 15 2017 Win64" ..\third-party -DCMAKE_BUILD_TYPE=Debug
> cmake --build .
参考サイトによると、unibiliumとかでエラーが出るらしいのですが、現時点では修正済みなのかエラーは出ませんでした。
Debug版を作成するときは、-DCMAKE_BUILD_TYPE=Debug を指定することが重要。これがないと、Debug構成でビルドしたneovim本体とランタイムが食い違い、起動しません。
neovimのビルド
> cd (クローンしたneovimのディレクトリ)
> mkdir build
> cd build
> cmake -G "Visual Studio 15 2017 Win64" ..\ -DCMAKE_BUILD_TYPE=Debug
デバッグ作業はVisual Studio上で行うので、ビルドはコマンドプロンプトからはなく、Visual Studioから実行します。
> "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe" nvim.sln
あとは、Visual Studioでアクティブな構成をx64 Debugとなっていることを確認してビルドします。
その他
Releaseでビルドするときは、-DCMAKE_BUILD_TYPE=Debugを省略するか、DebugをReleaseに変更します。
32bitでビルドするときは、CMakeのコマンドのWin64を省略します。