CEDEC2017のセッションを聞いてUSDビルドする気が戻ってきた。部品のひとつ、OpenSubdivのvcpkg版ビルドに取り組んでみる。
packageを作る
POWERSHELLを開いてvcpkgディレクトリに移動。
ports/opensubdiv/portfile.cmake
最低限、展開するアーカイブのパスを指定。
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/OpenSubdiv-3_3_0)
ビルドしてみる
さすがにエラーになる。vcpkg の buildtree/opensubdiv
に潜ってビルド手順を調べてみる。
手動ビルド
OpenSubdivのビルドシステムはCMakeだった。
早速、CmakeGUIでやってみる。
CMAKE_INSTALL_PREFIX=VCPKG_DIR/installed/x64-windows
だけ設定して様子を見る。
CUDAとかOpenCLとかそっち方面の依存がある様子。
NO_CUDAとNO_OPENCLにチェックを入れてみる。
あとNO_DOCも。
SolutionをGenerateしてビルドしてみる。
Debug版だけtbb_debug.libが見つからないエラーが出た。
DEBUG版のFIND_PACKAGEの修正
vcpkgでは、VCPKG_DIR/installed/x64-windows/debug/lib/tbb_debug.lib
にあるので見つかりませんね。
TBB_LOCATION=VCPKG_DIR/installed/x64-windows/debug
を指定したらうまくいった。
portfile.cmakeに反映
ports/opensubdiv/portfile.cmake
こうなった。
package
VCPKG_DIR/packages/opensubdiv_x86-windows
packageの調整
エラーメッセージの指示に従って。
以下のようになった。
OpenSubdivにはdllのビルドは無いみたい。ライブラリ構成もtemplate classを主体とするもののようだ。