Synesthesias / libplateau

Other
6 stars 3 forks source link

Build and Test

libplateau

libplateauはPLATEAUの3D都市モデルを扱うためのC++ライブラリであり、以下の機能を提供しています。

libplateauはロジックの共通化によりPLATEAU SDK for UnityPLATEAU SDK for Unrealの開発を加速させるために活用されています。

開発環境

Windows

セットアップ

リポジトリクローン

git lfs install
git clone https://github.com/Synesthesias/libplateau
cd libplateau
git submodule update --init --recursive

ビルド

ビルドの方法について、全OSで共通の留意点を記したあと、OSごとのビルド方法を記載します。

共通

1. fbx_sdkを用意する

お手数をおかけして申し訳ございませんが、libplateau をビルドするには別途 fbx_sdk が必要です。 fbx_sdk は Autodesk社が公開するSDKです。これは自由に製品に組み込んで良いものの、オープンソースではなく、再配布は禁止となっております。
そのため、libplateau 自体はオープンソースですが、例外的に fbx_sdk のみ別途ご用意頂く形になっております。
ビルドするためには、Autodesk社が配布しているSDKを指定のディレクトリに配置する必要があります。

2. C++, C# のビルド手順

C# コードの用途

CMakeの設定

トラブルシューティング

  • CMakeの構成時に GTest に関するエラーが1件出ますが、無視で大丈夫です。
  • IDEは Jetbrains CLion を利用していて、CMake の find_program(MSVC_LIB_TOOL lib.exe) がうまくいかない場合、 CLionのインストール時の設定で Add “bin” folder to the PATH にチェックを入れてください。

3つのOS向けにまとめてビルド

Windowsでの手動ビルド

C++のビルド

Linuxでの手動ビルド

利用する Linux は、Unityの対応OSに合わせて Ubuntu 20.04 とします。

C++のビルド

Unreal Engine向けの場合:

cmake -S . -B ./out/build/x64-Release-Unreal/ -G "Ninja" -D CMAKE_BUILD_TYPE:STRING="RelWithDebInfo" -D CMAKE_INSTALL_PROGRAM="ninja" -D CMAKE_CXX_FLAGS="-w" -D BUILD_LIB_TYPE=static -D RUNTIME_LIB_TYPE=MD
cmake --build ./out/build/x64-Release-Unreal/ --config RelWithDebInfo

C#のビルド

MacOSでの手動ビルド

C++ビルドに必要なもの

デプロイ

Unity

PLATEAU SDK for Unityへの導入については、そちらのREADMEを参照してください。

ディレクトリ構成

テストデータ

テストデータの詳細については data/README.md を参照してください。

モックサーバー

モックサーバーについては PLATEAU-API-Mock-v3 を参照してください。

実装上の注意

文字コード

CI (継続的インテグレーション)

Github Actions によるCIを導入しています。
Windows, Mac, Linux でのテストと成果物のダウンロードができます。

コード規約

トラブルシューティング

ライセンス

ライセンス管理

サードパーティソフトの権利表記をThirdPartyNotices.mdに記載してください。