Improve Windows compile script

This commit is contained in:
Benito Palacios Sánchez 2016-04-02 13:26:20 +02:00
parent d5cb82d1cc
commit 3f6cee28a5
2 changed files with 88 additions and 68 deletions

View File

@ -1,6 +1,7 @@
0.9.2
** Improve Hexadecimal Viewer for Mono (Linux and Mac OS)
* Fix crash opening HexViewer from FAT dialog on Mono.
* Fix project files and compile script for Windows.
0.9.1
** Support partition cell sections (#18, #19).
@ -94,7 +95,7 @@
*** Improved Hexadecimal editor -> Now using Be.HexEditor (by Bernhard Elbl)
*** Read BMD0 files and show the textures (if any)
** Game GYAKUKEN (Gyajuten kenji 2) - Unpacker
** Game DBK ULTIMATE (Dragon Ball Kai Ultimate Butouden) - Unpacker for "archiveDBK.dsa"
** Game DBK ULTIMATE (Dragon Ball Kai Ultimate Butouden) - Unpacker for "archiveDBK.dsa"
** Game MAPLESTORYDS (Maple Story DS) - Unpacker for "RESOURCE.NXARC"
** Game NINOKUNI (Ninokuni Shikkoku no Madoushi) supported
- Unpacker for NPCK and KPCN files
@ -171,7 +172,7 @@
- Fixed some bugs
** Improved decompress methods, now it's so much faster.
* Improved plugin TETRIS DS
* New option in menu "Open as..." -> Compress (you can select the start offset)
* New option in menu "Open as..." -> Compress (you can select the start offset)
* Command to set a new transparent color in NCGR and NCER files
* Improved Images plugin and TGA support
* Improved "offset" value in files NCGR.
@ -257,5 +258,3 @@
* Add button to change the bgd color with transparency checked
* UNICODE encoding support for text files
* Minor problems fixed

View File

@ -1,91 +1,112 @@
:start
ECHO off
CLS
@ECHO off
setlocal enableDelayedExpansion
REM Ask for release or debug configuration
SET /P conf=Choose the configuration. Press R for Release or D for Debug:
IF /I "%conf%"=="R" SET conf=Release
IF /I "%conf%"=="D" ( SET conf=Debug
) ELSE (IF NOT "%conf%"=="Release" GOTO start)
REM Clean variables
SET conf=
SET plat=
:secif
REM Ask for Release or Debug configuration
IF [%1] == [] (
:ask_conf
SET /P resp=Choose the configuration. Press R for Release or D for Debug:
IF /I "!resp!" EQU "R" SET conf=Release
IF /I "!resp!" EQU "D" SET conf=Debug
REM If other input repeat
IF [!conf!] EQU [] GOTO ask_conf
) ELSE (
SET conf=%1
)
ECHO Configuration: %conf%
REM Ask for platform
SET /P plat=Choose the platform. Press 1 for x86 or 2 for x64:
IF "%plat%"=="1" SET plat=x86
IF "%plat%"=="2" ( SET plat=x64
) ELSE (IF NOT "%plat%"=="x86" GOTO secif)
IF [%2] == [] (
:ask_plat
SET /P resp=Choose the platform. Press 1 for x86 or 2 for x64:
IF "!resp!" EQU "1" SET plat=x86
IF "!resp!" EQU "2" SET plat=x64
:check
REM Make sure you have choosen everything ok
SET /P ans=You have choosen the configuration %conf% and the platform %plat%, Is this correct? (y/n)
IF /I "%ans%"=="N" (GOTO start
) ELSE (IF /I NOT "%ans%"=="Y" GOTO check)
REM If other input repease
IF [!plat!] EQU [] GOTO ask_plat
) ELSE (
SET plat=%2
)
ECHO Platform: %plat%
REM Remove previoues build
SET build_dir=%CD%\build
IF EXIST "%build_dir%" RMDIR /S /Q "%build_dir%"
IF EXIST "%build_dir%" RMDIR /S /Q "%build_dir%" || EXIT /B 1
REM Get compiler
SET netver=v4.5
SET msbuild_path=%windir%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
SET msbuild=%msbuild_path% /v:minimal /p:Configuration=%conf% /p:TargetFrameworkVersion=%netver%
SET msbuild_plugins=%msbuild% /p:OutputPath=%build_dir%\Plugins\
SET msbuild=%msbuild_path% /p:Configuration=%conf% /p:TargetFrameworkVersion=%netver%
SET msbuild_plugin=%msbuild% /p:OutputPath=%build_dir%\Plugins\
REM Compile program in standard directory, to allow plugins find Ekona
ECHO Compiling base library...
%msbuild_path% /v:minimal /p:TargetFrameworkVersion=%netver% Tinke.sln
ECHO Compiling base library
%msbuild_path% /p:TargetFrameworkVersion=%netver% Tinke.sln > error.log || (TYPE error.log & EXIT /B 1)
REM Compiling program
echo Compiling Tinke...
%msbuild% /p:Platform=%plat% /p:OutputPath=%build_dir%\ Tinke.sln
echo Compiling Tinke
%msbuild% /p:Platform=%plat% /p:OutputPath=%build_dir%\ Tinke.sln > error.log || (TYPE error.log & EXIT /B 1)
REM Compiling format plugins
%msbuild_plugins% "Plugins\Pack\Pack.sln"
%msbuild_plugins% "Plugins\TXT\TXT.sln"
%msbuild_plugins% "Plugins\Common\Common.sln"
%msbuild_plugins% "Plugins\Images\Images.sln"
%msbuild_plugins% "Plugins\SDAT\SDAT.sln"
%msbuild_plugins% "Plugins\Sounds\Sounds.sln"
%msbuild_plugins% "Plugins\Fonts\Fonts.sln"
%msbuild_plugins% "Plugins\3DModels\3DModels.sln"
call :compile_plugin "Plugins\Pack\Pack.sln"
call :compile_plugin "Plugins\TXT\TXT.sln"
call :compile_plugin "Plugins\Common\Common.sln"
call :compile_plugin "Plugins\Images\Images.sln"
call :compile_plugin "Plugins\SDAT\SDAT.sln"
call :compile_plugin "Plugins\Sounds\Sounds.sln"
call :compile_plugin "Plugins\Fonts\Fonts.sln"
call :compile_plugin "Plugins\3DModels\3DModels.sln"
REM Compiling game plugins
%msbuild_plugins% "Plugins\LAYTON\LAYTON.sln"
%msbuild_plugins% "Plugins\KIRBY DRO\KIRBY DRO.sln"
%msbuild_plugins% "Plugins\AI IGO DS\AI IGO DS.sln"
%msbuild_plugins% "Plugins\LASTWINDOW\LASTWINDOW.sln"
%msbuild_plugins% "Plugins\TETRIS DS\TETRIS DS.sln"
%msbuild_plugins% "Plugins\999HRPERDOOR\999HRPERDOOR.sln"
%msbuild_plugins% "Plugins\EDGEWORTH\EDGEWORTH.sln"
%msbuild_plugins% "Plugins\GYAKUKEN\GYAKUKEN.sln"
%msbuild_plugins% "Plugins\DBK ULTIMATE\DBK ULTIMATE.sln"
%msbuild_plugins% "Plugins\MAPLESTORYDS\MAPLESTORYDS.sln"
%msbuild_plugins% "Plugins\NINOKUNI\NINOKUNI.sln"
%msbuild_plugins% "Plugins\TOKIMEKIGS3S\TOKIMEKIGS3S.sln"
%msbuild_plugins% "Plugins\BLOODBAHAMUT\BLOODBAHAMUT.sln"
%msbuild_plugins% "Plugins\SF FEATHER\SF FEATHER.sln"
%msbuild_plugins% "Plugins\DEATHNOTEDS\DEATHNOTEDS.sln"
%msbuild_plugins% "Plugins\INAZUMA11\INAZUMA11.sln"
%msbuild_plugins% "Plugins\TC UTK\TC UTK.sln"
%msbuild_plugins% "Plugins\PSL\PSL.sln"
%msbuild_plugins% "Plugins\HETALIA\HETALIA.sln"
%msbuild_plugins% "Plugins\TIMEACE\TIMEACE.sln"
%msbuild_plugins% "Plugins\WITCHTALE\WITCHTALE.sln"
%msbuild_plugins% "Plugins\Tokimemo1\Tokimemo1.sln"
%msbuild_plugins% "Plugins\Teniprimgaku\Teniprimgaku.sln"
call :compile_plugin "Plugins\LAYTON\LAYTON.sln"
call :compile_plugin "Plugins\KIRBY DRO\KIRBY DRO.sln"
call :compile_plugin "Plugins\AI IGO DS\AI IGO DS.sln"
call :compile_plugin "Plugins\LASTWINDOW\LASTWINDOW.sln"
call :compile_plugin "Plugins\TETRIS DS\TETRIS DS.sln"
call :compile_plugin "Plugins\999HRPERDOOR\999HRPERDOOR.sln"
call :compile_plugin "Plugins\EDGEWORTH\EDGEWORTH.sln"
call :compile_plugin "Plugins\GYAKUKEN\GYAKUKEN.sln"
call :compile_plugin "Plugins\DBK ULTIMATE\DBK ULTIMATE.sln"
call :compile_plugin "Plugins\MAPLESTORYDS\MAPLESTORYDS.sln"
call :compile_plugin "Plugins\NINOKUNI\NINOKUNI.sln"
call :compile_plugin "Plugins\TOKIMEKIGS3S\TOKIMEKIGS3S.sln"
call :compile_plugin "Plugins\BLOODBAHAMUT\BLOODBAHAMUT.sln"
call :compile_plugin "Plugins\SF FEATHER\SF FEATHER.sln"
call :compile_plugin "Plugins\DEATHNOTEDS\DEATHNOTEDS.sln"
call :compile_plugin "Plugins\INAZUMA11\INAZUMA11.sln"
call :compile_plugin "Plugins\TC UTK\TC UTK.sln"
call :compile_plugin "Plugins\PSL\PSL.sln"
call :compile_plugin "Plugins\HETALIA\HETALIA.sln"
call :compile_plugin "Plugins\TIMEACE\TIMEACE.sln"
call :compile_plugin "Plugins\WITCHTALE\WITCHTALE.sln"
call :compile_plugin "Plugins\Tokimemo1\Tokimemo1.sln"
call :compile_plugin "Plugins\Teniprimgaku\Teniprimgaku.sln"
REM Remove the error log
DEL error.log
REM Copy dependencies
COPY "%cd%\Plugins\3DModels\OpenTK.dll" "%build_dir%\"
COPY "%cd%\Plugins\3DModels\OpenTK.GLControl.dll" "%build_dir%\"
ECHO Copying dependencies
COPY "%cd%\Plugins\3DModels\OpenTK.dll" "%build_dir%\" > nul || (EXIT /B 1)
COPY "%cd%\Plugins\3DModels\OpenTK.GLControl.dll" "%build_dir%\" > nul || (EXIT /B 1)
REM Copy license and changelog
COPY "%cd%\changelog.txt" "%build_dir%\"
COPY "%cd%\Licence.txt" "%build_dir%\"
ECHO Copying license and changelog
COPY "%cd%\changelog.txt" "%build_dir%\" > nul || (EXIT /B 1)
COPY "%cd%\Licence.txt" "%build_dir%\" > nul || (EXIT /B 1)
REM Delete debug files
DEL /S /Q "%build_dir%\*.pdb"
ECHO Removing debug files
DEL /S /Q "%build_dir%\*.pdb" > nul || (EXIT /B 1)
:end
PAUSE
REM The End
EXIT /B 0
:compile_plugin
echo Compiling plugin %1
%msbuild_plugin% %1 > error.log || (TYPE error.log & EXIT 1)
EXIT /B 0