環境
- Windows 10 Pro Anniversary Update x64
- Visual Studio Community 2015
ビルド手順
- TVTestのソースをcloneし、developブランチに切り替える。
- BaseClassesフォルダへ不足ファイルをコピーする。
- cloneしたフォルダに下記バッチファイルを置き、実行する。
build-TVTest.bat
@echo off
setlocal
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsMSBuildCmd.bat"
pushd "%~dp0TVTest"
msbuild /p:Configuration=Release_MD /p:Platform=Win32 src\TVTest_All.VS2013.sln
if ERRORLEVEL 1 goto :windup
msbuild /p:Configuration=Release /p:Platform=Win32 sdk\Samples\Samples.VS2013.sln
if ERRORLEVEL 1 goto :windup
:windup
popd
pause
バッチファイルの簡単な解説
- 1行目
- バッチファイル実行中にコマンドラインを表示しないようにするためのおまじない。
-
echo off
の行そのものを表示させないために、先頭に@
をつけてある。 - 3行目
- 4行目で環境変数が変更されるため、build-TVTest.batの外に影響を及ぼさないようにするためのおまじない。
- 4行目
- VsMSBuildCmd.batを読み込む。これにより、MSBuildにパスが通る。
- なお、VsMSBuildCmd.batは、VS2015をインストールするとスタートメニューに登録される「VS2015 用 MSBuild のコマンド プロンプト」と同じもの。
- 6行目
- TVTestフォルダへ移動する。
%~dp0
は、build-TVTest.batのあるフォルダを表す。 - 8行目
- MSBuildでsrc\TVTest_All.VS2013.slnを読み込み、TVTest本体とTVTest_Image.dllをビルドする。
- 9行目
- MSBuildがエラーを起こしたらラベル
windup
へ飛ぶ。 - 10行目
- MSBuildでsdk\Samples\Samples.VS2013.slnを読み込み、各種プラグインをビルドする。
- 11行目
- MSBuildがエラーを起こしたらラベル
windup
へ飛ぶ。ただしラベルwindup
は直後にあるため、この行はあまり意味がない。 - 14行目
- 8行目で
pushd
しているのでpopd
で元のフォルダへ戻る。 - 15行目
- 「続行するには何かキーを押してください」。
MSBuildのコマンドラインオプションによる構成変更
TVTest_All.VS2013.sln
- 8行目の
Release_MD
をRelease
に変更すると、VCランタイムを使用しない構成でビルドする。 - 同、
Win32
をx64
に変更すると、64bit版をビルドする。
Samples.VS2013.sln
- 10行目の
Release
をRelease_static
に変更すると、VCランタイムを使用しない構成でビルドする。 - 同、
Win32
をx64
に変更すると、64bit版をビルドする。
おまけ:package.sh
- TVTestのソースに含まれるpackage.shは、下記処理を行うBashスクリプト。
- ビルドしたバイナリ、ヘルプファイル、ドキュメント、設定ファイル等をひとつのフォルダへコピーする。
- コピーしたファイル群から書庫ファイルを作る。
- Git Bash上で実行する。Git Bashは、Git for Windowsをインストールすると使えるようになる。
package.shの使い方
- TVTestフォルダ上で右クリックし、[Git Bash Here]を選択する。
- Git Bashが開いたら、下記コマンドを実行する。7-Zipがインストールされていなければ最後にエラーとなるが、気にしないこと。
$ ./package.sh -a x86 -c dynamic -t release
- コマンドが終了するとpackageフォルダが作られ、ビルドしたバイナリ等がコピーされている。これを使ってインストールする。
- package.shの先頭にコマンドラインオプションの使い方が書かれているので、よく読むこと。