• 追加された行はこの色です。
  • 削除された行はこの色です。
[[devel]]

* 各プロジェクトのビルドに先立ってSwigを実行するために [#a032baae]

+ ソリューション "Springhead2/src/Springhead10.sln" にRunSwigプロジェクト(makeプロジェクト)を追加。
+ ソリューション "Springhead2/src/Springhead10.sln"に登録されている次のプロジェクトに対して、RunSwigプロジェクトに対する依存関係を設定。~
また、カスタムビルドステップに登録されていたコマンドはすべて廃止。
 Base, Collision, Creature, FileIO, Foundation, Framework,
 Graphics, HumanInterface, Physics, Springhead
+ RunSwigプロジェクトのプロパティ(NMake - 全般)に次のコマンドを登録。
 ビルドコマンドライン           make_manager.bat -A -c && nmake -f Makefile
 すべてリビルドコマンドライン   make_manager.bat -A -d -c && nmake -f Makefile
 クリーンコマンドライン         make_manager.bat -A -d
+ "Springhead2/src" 以下に次のディレクトリ/ファイルを追加。
 "RunSwig/do_swigall.projs"     設定ファイル
 "RunSwig/do_swigall.bat"       設定ファイル "do_swigall.projs" に指定したプロジェクトに対して、
                                makefileの再作成(必要なときのみ)とswigの実行をするためのスクリプト
 "RunSwig/make_manager.bat"     makefileの再作成に付随する処理を実行するスクリプト
 "RunSwig/create_mkf.bat"       makefileを作成するスクリプト

設定ファイルには、swigを実行する必要があるプロジェクトを次の書式で指定します。依存するプロジェクトがない場合でも設定が必要です。
 <設定ファイル>        ::= <defline-list>
 <defline-list>        ::= <defline>
                         | <defline><newline><defline-list>
 <defline>             ::= ε
                         | <target-project><space><depend-project-list>
 <target-project>      ::= <project-name>
 <depend-project-list> ::= <depend-project>
                         | <depend-project><comma><depend-project-list>
 <depend-project>      ::= ε
                         | <project-name>
 <project-name>        ::= プロジェクト名
 <newline>             ::= '\n'
 <space>               ::= ' '
 <comma>               ::= ','

現在の設定ファイルの内容は次のとおりです。これらは、<project>.i ファイルを基に作成しました。間違いがあればご指摘ください。
        Collision Foundation
        Creature Physics,Collision,Foundation
        FileIO Foundation
        Foundation
        Framework Foundation
        Graphics Foundation
        HumanInterface Foundation
        Physics Collision,Foundation

----

ビルドの手順は次のようになります。

+ 最初にRunSwigプロジェクトがビルドされ、その結果、設定ファイルに指定されたプロジェクトに対してswigが実行される。
+ 次に各プロジェクトがビルドされる。この時にもRunSwig.batが起動されるが“make: Nothing to be done
for `all'.”となり実際にswigが動くことはない。

実行の結果は、
- (1)の結果 → ログファイル "Springhead2Test/test/log/{StubBuild.log, StubBuildError.log}"
- (2)の結果 → ログファイル "Springhead2Test/test/log/{Build.log, BuildError.log}"

に出力され、svnにコミットされます。


----
今後新たにプロジェクト(swigの実行が必要なもの)を追加する場合には、次の作業を行なってください。

+ 新たなプロジェクトを RunSwig プロジェクトに依存させる。
+ 設定ファイル "Springhead2/src/swig/etc/swigprojs.list" に設定を追加する
(これを忘れるとswig実行の対象となりません)。