- 追加された行はこの色です。
- 削除された行はこの色です。
[[devel]]
各プロジェクトのビルドに先立ってSwigを実行するための作業
* 各プロジェクトのビルドに先立ってSwigを実行するために [#a032baae]
+ ソリューション "Springhead2/src/Springhead10.sln" にRunSwigプロジェクト(makeプロジェクト)を追加。
+ ソリューション "Springhead2/src/Springhead10.sln"に登録されている次のプロジェクトに対して、RunSwigプロジェクトに対する依存関係を設定。
Base, Collision, Creature, FileIO, Foundation, Framework,
Graphics, HumanInterface, Physics, Springhead
+ "Springhead2/src" 以下に次のディレクトリ/ファイルを追加。
"swig/etc/swigprojs.list" 設定ファイル
"swig/bin/do_swigall.bat" 設定ファイル "swigprojs.list"
に指定したプロジェクトに対してswigを実行するためのスクリプト
"swig/bin/SwigAll.bat" 各プロジェクトのビルドを実行するスクリプト
(RunSwigプロジェクトから実行)
設定ファイルには、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> ::= project name
<newline> ::= '\n'
<space> ::= ' '
<comma> ::= ','
設定ファイルには、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> ::= 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実行の対象となりません)。