目的
sn0w75氏の公開しているオープンソースMMD環境MikuMikuPenguin(MMP)
をWindows環境でビルドするために、MinGWの環境を整備する。
必要なもの
CMake および MSYS, MinGW の導入
CMake
基本的にインストーラに従うだけでOK.ただし、インストールパスに
空白が入らないようにしておくとベター
MSYS
入手した、msys+7za+wget+svn+git+mercurial+cvs-rev13.7z 解凍して
C:\msysに配置。このパッケージ一つで、7z, w-get, svn, git, mercurial など
いろいろ入っていて非常に便利。
MinGW
MSYS と同様に入手したアーカイブをC:\mingw64に配置。
各種設定
fstab の設定
C:\msys\etc\fstab に以下を追加
C:/mingw64 /mingw
C:/CMake /cmake
D:/sdk/mingw64 /usr/local
/usr/localを別のディスクにしてあるのは、残り容量が
心許無いためです。
.bashrc の設定
!/bin/sh.exe
export PATH=/usr/local/bin:/usr/local/lib:/c/msys/bin:/mingw/bin
export PATH=${PATH}:/cmake/bin
最低限これくらいセットしておけば大丈夫なんじゃないでしょうか。
MMP 関連ライブラリのビルド
glfw
現状公開されている glfw はバージョン3.0以降であり、
MMPが要求する2.x系のコードが必要となります。
これは glfw-legacyを用います。
$ git clone git://github.com/glfw/glfw-legacy.git
$ make win32-msys
$ make msys-install
glew
glew は基本的に最新のソースで大丈夫だと思います。
glew のMakefileに以下のように記述がありますが、
-GLEW_DEST ?= /usr
+GLEW_DEST ?= /usr/local
に変更しましょう。
あとは make && make install
glm
glm はヘッダのみで提供されているライブラリです。
glmダウンロードページ
から、0.9.4系の最新のアーカイブを取得します。
インストールは展開したディレクトリの中にある glm ディレクトリを
/usr/local/include に移動するだけでOKです。
Bullet
物理演算ライブラリ bullet のソースコードをダウンロードします。配布先
以下、bullet のソースコードが格納されているディレクトリを
bullet_sourceとします。
$ cd $bullet_source
$ mkdir build
$ cd build
$ cmake -G "MSYS Makefiles" -DINSTALL_LIBS=on \
-DBUILD_DEMOS=off -DBUILD_EXTRAS=off ..
$ make && make install
SOIL
同様にソースを取得しビルドを行います。
SOILよりソースコードをダウンロードしつつ展開します。
cd ${SOIL_DIR}/projcets/makefile
mkdir obj
make -f makefile
これで、${SOIL_DIR}/lib/libSOIL.a
が出来ている。
これを /usr/local/lib
にコピー。
また、SOIL.h は /usr/local/include/SOIL/ へコピーする。
とりあえず MMP の依存する小規模なライブラリ群のビルドは
ここまで、次回からは MMP が現在取り組んでいる Qt5 を含めた
ビルドと、MMP 自体のビルドについて書く予定。