[[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実行の対象となりません)。