EDCBをビルドするバッチファイル

スポンサーリンク
スポンサーリンク
TS抜き

ソースをダウンロードしてビルド、アーカイブを作成するバッチファイルです。

スポンサーリンク
スポンサーリンク

必要

VS2019

こちらの記事を参考にインストールしてください。

Git for Windows

公式サイトの「Download」をクリックします。

インストールで特に変更するところはありません。

7-Zip

公式サイトからダウンロードしてインストールします。

バッチファイル

拡張子を.batにして保存します。

x86

@echo off
cd /d %~dp0

git -C EDCB pull || git clone https://github.com/xtne6f/EDCB.git

for /f "usebackq tokens=*" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do (
    set InstallDir=%%i
)

call "%InstallDir%\Common7\Tools\VsDevCmd.bat" -no_logo

cd EDCB\Document
MSBuild EDCB_ALL.VS2015.sln /nologo /m /t:Rebuild /p:Configuration=Release;Platform=Win32
if errorlevel 1 exit /b 1

cd ..\ini\Tools
MSBuild asyncbuf.vcxproj /nologo /m /t:Rebuild /p:Configuration=Release;Platform=x86
if errorlevel 1 exit /b 1
MSBuild readex.vcxproj /nologo /m /t:Rebuild /p:Configuration=Release;Platform=x86
if errorlevel 1 exit /b 1
MSBuild relayread.vcxproj /nologo /m /t:Rebuild /p:Configuration=Release;Platform=x86
if errorlevel 1 exit /b 1

cd IBonCast
MSBuild IBonCast.sln /nologo /m /t:Rebuild /p:Configuration=Release;Platform=x86
if errorlevel 1 exit /b 1

cd ..\tsidmove
MSBuild tsidmove.sln /nologo /m /t:Rebuild /p:Configuration=Release;Platform=x86
if errorlevel 1 exit /b 1

cd ..\..\..
if exist package\x86\Release rd /s /q package\x86\Release
xcopy /e /v /i x86\Release package\x86\Release >nul

cd package\x86\Release
del /s *.exp *.iobj *.ipdb *.lib *.map *.pdb >nul
copy /v ..\..\..\Document\*.txt >nul
xcopy /e /v ..\..\..\ini >nul
md BonDriver

cd Tools
copy /v Release\*.exe >nul
copy /v IBonCast\Release\IBonCast.dll .. >nul
copy /v tsidmove\Release\tsidmove.exe >nul
del *.c *.vcxproj
for /d %%i in (*) do rd /s /q %%i

cd ..\..\..\..
for /f "usebackq tokens=*" %%i in (`git rev-parse --short HEAD`) do set hash=%%i
"%ProgramFiles%\7-Zip\7z.exe" a "package\EDCB_%hash%_x86.7z" .\package\x86\Release\* -mx=9 -ms=on -myx=9

pause

x64

@echo off
cd /d %~dp0

git -C EDCB pull || git clone https://github.com/xtne6f/EDCB.git

for /f "usebackq tokens=*" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do (
    set InstallDir=%%i
)

call "%InstallDir%\Common7\Tools\VsDevCmd.bat" -no_logo

cd EDCB\Document
MSBuild EDCB_ALL.VS2015.sln /nologo /m /t:Rebuild /p:Configuration=Release;Platform=x64
if errorlevel 1 exit /b 1

cd ..\ini\Tools
MSBuild asyncbuf.vcxproj /nologo /m /t:Rebuild /p:Configuration=Release;Platform=x64
if errorlevel 1 exit /b 1
MSBuild readex.vcxproj /nologo /m /t:Rebuild /p:Configuration=Release;Platform=x64
if errorlevel 1 exit /b 1
MSBuild relayread.vcxproj /nologo /m /t:Rebuild /p:Configuration=Release;Platform=x64
if errorlevel 1 exit /b 1

cd IBonCast
MSBuild IBonCast.sln /nologo /m /t:Rebuild /p:Configuration=Release;Platform=x64
if errorlevel 1 exit /b 1

cd ..\tsidmove
MSBuild tsidmove.sln /nologo /m /t:Rebuild /p:Configuration=Release;Platform=x64
if errorlevel 1 exit /b 1

cd ..\..\..
if exist package\x64\Release rd /s /q package\x64\Release
xcopy /e /v /i x64\Release package\x64\Release >nul

cd package\x64\Release
del /s *.exp *.iobj *.ipdb *.lib *.map *.pdb >nul
copy /v ..\..\..\Document\*.txt >nul
xcopy /e /v ..\..\..\ini >nul
md BonDriver

cd Tools
copy /v x64\Release\*.exe >nul
copy /v IBonCast\x64\Release\IBonCast.dll .. >nul
copy /v tsidmove\x64\Release\tsidmove.exe >nul
del *.c *.vcxproj
for /d %%i in (*) do rd /s /q %%i

cd ..\..\..\..
for /f "usebackq tokens=*" %%i in (`git rev-parse --short HEAD`) do set hash=%%i
"%ProgramFiles%\7-Zip\7z.exe" a "package\EDCB_%hash%_x64.7z" .\package\x64\Release\* -mx=9 -ms=on -myx=9

pause

使い方

x86は32bit版、x64は64bit版です。

バッチファイルをダブルクリックすると処理が始まります。

バッチファイルと同じフォルダにある EDCB\package に出力されます。

xtne6f版をビルドしていますが、tkntrec版をビルドしたい場合はgit cloneのURLを以下のように書き換えてください。

https://github.com/tkntrec/EDCB.git

コメント

  1. まこ より:

    Toolフォルダの中身とかビルドされてないのが出来るのですが不要だからそのままで良い的な感じですか?

タイトルとURLをコピーしました