Open2

yuniframe: プロジェクト構造の整理

okuokuokuoku

Yuniframeにそろそろ大改造を入れたいのでコードを整理する。WABTを最新にしたいとか、そろそろ真面目に外部のWasm処理系を使えるようにしたいとか、パッケージング関連をそろそろ何とかしろってのもあるので。。

現在の構造

現在はいくつかのリポジトリに適当に分割している。

いわゆるインテグレーションテストは em2native-proto をrecursiveにチェックアウトして一通りビルドするという方式になっている。

更新したい構造

あんまり論理的に分割するとGitHub的にstarを集めづらいという問題があるが、まぁyuniframeにはそもそも競合が存在しないので気にしない事にした。

  • em2native-integ -- インテグレーションテスト用のリポジトリ。テスト済のリビジョンをsubmoduleとして保持する & テスト用のスクリプトもここに入れる
  • em2native-testapps -- integリポジトリから参照される、テスト用のアプリが入ったリポジトリ。UnityとかGodotでビルドしたゲームが主に入るはず
  • emscripten2native -- Duktape向けのEmscipten glueやRollup.jsを使ったパッケージング用のスクリプト等
  • yuniframe -- SDL2を使った入力周りと、シンプルフレームバッファ、シンプル音声出力等 + パッケージング用のスクリプト類(AndroidやSteam等)
  • cwgl -- WebGL1をC言語で実装したライブラリ、シェーダーコンパイラへのglue( shxm )
  • nccc -- nccc準拠のモジュールをDuktapeやNode.jsから呼び出すためのコード

当初はマイコン向けのyunipocketも統合するつもりだったがリポジトリは分けることにした。

okuokuokuoku

インテグレーションテスト用のリポジトリを用意

em2native-tests はアプリケーションを模したリポジトリにすることにした。逆にインテグレーション用のリポジトリにはテストは入れない方向に。

https://github.com/okuoku/em2native-tests/tree/34ddf24578344bea8561b39b1ba50aa52bed7735

こっちの em2native-integ に各プロジェクト coal cwgl yuniframe nccc を分離して置いておくことにした。

https://github.com/okuoku/em2native-integ/tree/8015ccc2a6c4c88a2eba24dda85d3b59e5d6a6cd

それぞれのリポジトリの CMakeLists.txt を今後書いていくことにする。