249 lines
7.4 KiB
Batchfile
249 lines
7.4 KiB
Batchfile
|
|
@echo off
|
|||
|
|
chcp 936 >nul
|
|||
|
|
setlocal enabledelayedexpansion
|
|||
|
|
|
|||
|
|
echo ============================================
|
|||
|
|
echo <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>빤<EFBFBD><EBB9A4>
|
|||
|
|
echo ============================================
|
|||
|
|
echo.
|
|||
|
|
|
|||
|
|
:: ======== MSBuild ========
|
|||
|
|
set "MSBUILD=C:\PROGRA~2\MSBuild\12.0\Bin\MSBuild.exe"
|
|||
|
|
if not exist "%MSBUILD%" (
|
|||
|
|
echo [<5B><><EFBFBD><EFBFBD>] <20>Ҳ<EFBFBD><D2B2><EFBFBD> MSBuild: %MSBUILD%
|
|||
|
|
echo <20><>ȷ<EFBFBD><C8B7><EFBFBD>Ѱ<EFBFBD>װ Visual Studio 2013
|
|||
|
|
pause
|
|||
|
|
exit /b 1
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
:: ======== <20><>Ŀ·<C4BF><C2B7> ========
|
|||
|
|
set "SERVER_ROOT=%~dp0"
|
|||
|
|
set "PLATFORM_SLN=%SERVER_ROOT%Platform.sln"
|
|||
|
|
set "GAME_ROOT=%SERVER_ROOT%<EFBFBD><EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|||
|
|
set "RUN_DIR=%SERVER_ROOT%..\<5C><><EFBFBD><EFBFBD>"
|
|||
|
|
set "RELEASE_OUT=%RUN_DIR%\Release\Ansi"
|
|||
|
|
set "DEBUG_OUT=%RUN_DIR%\Debug\Ansi"
|
|||
|
|
|
|||
|
|
:: ======== MFC/CRT DLL ·<><C2B7> (VS2013) ========
|
|||
|
|
set "VS_REDIST=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist"
|
|||
|
|
set "MFC_REL=!VS_REDIST!\x86\Microsoft.VC120.MFC"
|
|||
|
|
set "CRT_REL=!VS_REDIST!\x86\Microsoft.VC120.CRT"
|
|||
|
|
set "MFC_DBG=!VS_REDIST!\Debug_NonRedist\x86\Microsoft.VC120.DebugMFC"
|
|||
|
|
set "CRT_DBG=!VS_REDIST!\Debug_NonRedist\x86\Microsoft.VC120.DebugCRT"
|
|||
|
|
|
|||
|
|
:: ======== <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ========
|
|||
|
|
set STEP=0
|
|||
|
|
set PLATFORM_R=0
|
|||
|
|
set PLATFORM_D=0
|
|||
|
|
set GAME_TOTAL=0
|
|||
|
|
set GAME_SR=0
|
|||
|
|
set GAME_SD=0
|
|||
|
|
set GAME_FR=0
|
|||
|
|
set GAME_FD=0
|
|||
|
|
set "FAIL_LIST="
|
|||
|
|
|
|||
|
|
echo MSBuild: %MSBUILD%
|
|||
|
|
echo ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD>: !PLATFORM_SLN!
|
|||
|
|
echo <20><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>: !GAME_ROOT!
|
|||
|
|
echo Release<73><65><EFBFBD><EFBFBD>: !RELEASE_OUT!
|
|||
|
|
echo Debug<75><67><EFBFBD><EFBFBD>: !DEBUG_OUT!
|
|||
|
|
echo.
|
|||
|
|
|
|||
|
|
:: ============================================================
|
|||
|
|
:: [<5B><>1<EFBFBD><31>] <20><><EFBFBD><EFBFBD> Platform.sln (<28><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
:: ============================================================
|
|||
|
|
set /a STEP+=1
|
|||
|
|
echo ============================================
|
|||
|
|
echo [<5B><>!STEP!<21><>] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Platform.sln)
|
|||
|
|
echo ============================================
|
|||
|
|
|
|||
|
|
echo <20><><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/Э<><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
echo <20><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>/<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
echo ˽<>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>/<2F><>վ<EFBFBD><D5BE><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
echo.
|
|||
|
|
|
|||
|
|
echo ^> Release <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...
|
|||
|
|
"!MSBUILD!" "!PLATFORM_SLN!" /t:Build /p:Configuration=Release /p:Platform=Win32 /m /nologo /v:minimal
|
|||
|
|
if !errorlevel! equ 0 (
|
|||
|
|
echo ^> Platform Release [<5B>ɹ<EFBFBD>]
|
|||
|
|
set PLATFORM_R=1
|
|||
|
|
) else (
|
|||
|
|
echo ^> Platform Release [ʧ<><CAA7>]
|
|||
|
|
set "FAIL_LIST=!FAIL_LIST! Platform-Release"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
echo ^> Debug <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...
|
|||
|
|
"!MSBUILD!" "!PLATFORM_SLN!" /t:Build /p:Configuration=Debug /p:Platform=Win32 /m /nologo /v:minimal
|
|||
|
|
if !errorlevel! equ 0 (
|
|||
|
|
echo ^> Platform Debug [<5B>ɹ<EFBFBD>]
|
|||
|
|
set PLATFORM_D=1
|
|||
|
|
) else (
|
|||
|
|
echo ^> Platform Debug [ʧ<><CAA7>]
|
|||
|
|
set "FAIL_LIST=!FAIL_LIST! Platform-Debug"
|
|||
|
|
)
|
|||
|
|
echo.
|
|||
|
|
|
|||
|
|
:: ============================================================
|
|||
|
|
:: [<5B><>2<EFBFBD><32>] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
:: ============================================================
|
|||
|
|
set /a STEP+=1
|
|||
|
|
echo ============================================
|
|||
|
|
echo [<5B><>!STEP!<21><>] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
echo ============================================
|
|||
|
|
echo.
|
|||
|
|
|
|||
|
|
if not exist "!GAME_ROOT!" (
|
|||
|
|
echo [<5B><><EFBFBD><EFBFBD>] <20>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>Ŀ¼: !GAME_ROOT!
|
|||
|
|
echo <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
) else (
|
|||
|
|
for /d %%G in ("!GAME_ROOT!\*") do (
|
|||
|
|
if exist "%%G\GameProject.sln" (
|
|||
|
|
set /a GAME_TOTAL+=1
|
|||
|
|
set "GAME_NAME=%%~nxG"
|
|||
|
|
echo --------------------------------------------
|
|||
|
|
echo [!GAME_TOTAL!] <20><>Ϸ: !GAME_NAME!
|
|||
|
|
echo --------------------------------------------
|
|||
|
|
|
|||
|
|
echo ^> Release...
|
|||
|
|
"!MSBUILD!" "%%G\GameProject.sln" /t:Build /p:Configuration=Release /p:Platform=Win32 /m /nologo /v:minimal
|
|||
|
|
if !errorlevel! equ 0 (
|
|||
|
|
echo ^> Release [<5B>ɹ<EFBFBD>]
|
|||
|
|
set /a GAME_SR+=1
|
|||
|
|
) else (
|
|||
|
|
echo ^> Release [ʧ<><CAA7>]
|
|||
|
|
set /a GAME_FR+=1
|
|||
|
|
set "FAIL_LIST=!FAIL_LIST! !GAME_NAME!-Release"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
echo ^> Debug...
|
|||
|
|
"!MSBUILD!" "%%G\GameProject.sln" /t:Build /p:Configuration=Debug /p:Platform=Win32 /m /nologo /v:minimal
|
|||
|
|
if !errorlevel! equ 0 (
|
|||
|
|
echo ^> Debug [<5B>ɹ<EFBFBD>]
|
|||
|
|
set /a GAME_SD+=1
|
|||
|
|
) else (
|
|||
|
|
echo ^> Debug [ʧ<><CAA7>]
|
|||
|
|
set /a GAME_FD+=1
|
|||
|
|
set "FAIL_LIST=!FAIL_LIST! !GAME_NAME!-Debug"
|
|||
|
|
)
|
|||
|
|
echo.
|
|||
|
|
)
|
|||
|
|
)
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
:: ============================================================
|
|||
|
|
:: [<5B><>3<EFBFBD><33>] <20><><EFBFBD><EFBFBD>MFC/CRT<52><54><EFBFBD><EFBFBD>ʱDLL
|
|||
|
|
:: ============================================================
|
|||
|
|
set /a STEP+=1
|
|||
|
|
echo ============================================
|
|||
|
|
echo [<5B><>!STEP!<21><>] <20><><EFBFBD><EFBFBD>MFC/CRT<52><54><EFBFBD><EFBFBD>ʱDLL
|
|||
|
|
echo ============================================
|
|||
|
|
echo.
|
|||
|
|
|
|||
|
|
set COPY_OK=0
|
|||
|
|
set COPY_FAIL=0
|
|||
|
|
|
|||
|
|
:: ȷ<><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD>
|
|||
|
|
if not exist "!RELEASE_OUT!" mkdir "!RELEASE_OUT!"
|
|||
|
|
if not exist "!DEBUG_OUT!" mkdir "!DEBUG_OUT!"
|
|||
|
|
|
|||
|
|
:: --- Release MFC ---
|
|||
|
|
echo <20><><EFBFBD><EFBFBD> Release MFC/CRT DLL...
|
|||
|
|
for %%F in (mfc120.dll mfcm120.dll) do (
|
|||
|
|
if exist "!MFC_REL!\%%F" (
|
|||
|
|
copy /y "!MFC_REL!\%%F" "!RELEASE_OUT!\%%F" >nul
|
|||
|
|
if !errorlevel! equ 0 (
|
|||
|
|
echo %%F [OK]
|
|||
|
|
set /a COPY_OK+=1
|
|||
|
|
) else (
|
|||
|
|
echo %%F [ʧ<><CAA7>]
|
|||
|
|
set /a COPY_FAIL+=1
|
|||
|
|
)
|
|||
|
|
) else (
|
|||
|
|
echo %%F [δ<>ҵ<EFBFBD>Դ<EFBFBD>ļ<EFBFBD>]
|
|||
|
|
set /a COPY_FAIL+=1
|
|||
|
|
)
|
|||
|
|
)
|
|||
|
|
:: --- Release CRT ---
|
|||
|
|
for %%F in (msvcr120.dll msvcp120.dll) do (
|
|||
|
|
if exist "!CRT_REL!\%%F" (
|
|||
|
|
copy /y "!CRT_REL!\%%F" "!RELEASE_OUT!\%%F" >nul
|
|||
|
|
if !errorlevel! equ 0 (
|
|||
|
|
echo %%F [OK]
|
|||
|
|
set /a COPY_OK+=1
|
|||
|
|
) else (
|
|||
|
|
echo %%F [ʧ<><CAA7>]
|
|||
|
|
set /a COPY_FAIL+=1
|
|||
|
|
)
|
|||
|
|
) else (
|
|||
|
|
echo %%F [δ<>ҵ<EFBFBD>Դ<EFBFBD>ļ<EFBFBD>]
|
|||
|
|
set /a COPY_FAIL+=1
|
|||
|
|
)
|
|||
|
|
)
|
|||
|
|
echo.
|
|||
|
|
|
|||
|
|
:: --- Debug MFC ---
|
|||
|
|
echo <20><><EFBFBD><EFBFBD> Debug MFC/CRT DLL...
|
|||
|
|
for %%F in (mfc120d.dll mfcm120d.dll) do (
|
|||
|
|
if exist "!MFC_DBG!\%%F" (
|
|||
|
|
copy /y "!MFC_DBG!\%%F" "!DEBUG_OUT!\%%F" >nul
|
|||
|
|
if !errorlevel! equ 0 (
|
|||
|
|
echo %%F [OK]
|
|||
|
|
set /a COPY_OK+=1
|
|||
|
|
) else (
|
|||
|
|
echo %%F [ʧ<><CAA7>]
|
|||
|
|
set /a COPY_FAIL+=1
|
|||
|
|
)
|
|||
|
|
) else (
|
|||
|
|
echo %%F [δ<>ҵ<EFBFBD>Դ<EFBFBD>ļ<EFBFBD>]
|
|||
|
|
set /a COPY_FAIL+=1
|
|||
|
|
)
|
|||
|
|
)
|
|||
|
|
:: --- Debug CRT ---
|
|||
|
|
for %%F in (msvcr120d.dll msvcp120d.dll) do (
|
|||
|
|
if exist "!CRT_DBG!\%%F" (
|
|||
|
|
copy /y "!CRT_DBG!\%%F" "!DEBUG_OUT!\%%F" >nul
|
|||
|
|
if !errorlevel! equ 0 (
|
|||
|
|
echo %%F [OK]
|
|||
|
|
set /a COPY_OK+=1
|
|||
|
|
) else (
|
|||
|
|
echo %%F [ʧ<><CAA7>]
|
|||
|
|
set /a COPY_FAIL+=1
|
|||
|
|
)
|
|||
|
|
) else (
|
|||
|
|
echo %%F [δ<>ҵ<EFBFBD>Դ<EFBFBD>ļ<EFBFBD>]
|
|||
|
|
set /a COPY_FAIL+=1
|
|||
|
|
)
|
|||
|
|
)
|
|||
|
|
echo.
|
|||
|
|
|
|||
|
|
:: ============================================================
|
|||
|
|
:: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
:: ============================================================
|
|||
|
|
echo ============================================
|
|||
|
|
echo <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
echo ============================================
|
|||
|
|
echo.
|
|||
|
|
echo --- <20><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD> (Platform.sln) ---
|
|||
|
|
if !PLATFORM_R! equ 1 (echo Release: <20>ɹ<EFBFBD>) else (echo Release: ʧ<><CAA7>)
|
|||
|
|
if !PLATFORM_D! equ 1 (echo Debug: <20>ɹ<EFBFBD>) else (echo Debug: ʧ<><CAA7>)
|
|||
|
|
echo.
|
|||
|
|
echo --- <20><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD> ---
|
|||
|
|
echo <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: !GAME_TOTAL!
|
|||
|
|
echo Release <20>ɹ<EFBFBD>/ʧ<><CAA7>: !GAME_SR!/!GAME_FR!
|
|||
|
|
echo Debug <20>ɹ<EFBFBD>/ʧ<><CAA7>: !GAME_SD!/!GAME_FD!
|
|||
|
|
echo.
|
|||
|
|
echo --- MFC/CRT DLL <20><><EFBFBD><EFBFBD> ---
|
|||
|
|
echo <20><><EFBFBD>Ƴɹ<C6B3>: !COPY_OK! <20><>
|
|||
|
|
echo <20><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>: !COPY_FAIL! <20><>
|
|||
|
|
echo.
|
|||
|
|
if defined FAIL_LIST (
|
|||
|
|
echo ʧ<><CAA7><EFBFBD>б<EFBFBD>:
|
|||
|
|
echo !FAIL_LIST!
|
|||
|
|
echo.
|
|||
|
|
)
|
|||
|
|
echo Release <20><><EFBFBD><EFBFBD>: !RELEASE_OUT!
|
|||
|
|
echo Debug <20><><EFBFBD><EFBFBD>: !DEBUG_OUT!
|
|||
|
|
echo ============================================
|
|||
|
|
echo.
|
|||
|
|
pause
|