@echo off rem rem $Id$ rem Copyright (C) 2011 gingko - http://gingko.homeip.net/ rem rem This file is part of Pouchin TV Mod, a free DVB-T viewer. rem See http://www.pouchintv.fr/ for updates. rem rem Pouchin TV Mod is free software; you can redistribute it and/or modify rem it under the terms of the GNU General Public License as published by rem the Free Software Foundation; either version 2 of the License, or rem (at your option) any later version. rem rem Pouchin TV Mod is distributed in the hope that it will be useful, rem but WITHOUT ANY WARRANTY; without even the implied warranty of rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the rem GNU General Public License for more details. rem rem You should have received a copy of the GNU General Public License rem along with this program; if not, write to the Free Software rem Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA rem rem release_build - G‚n‚ration des fichiers de publication de Pouchin TV Mod rem rem Syntaxe : release_build rem rem Aucune option. Une question est pos‚e … l'utilisateur au d‚marrage. rem rem Ce script n‚cessite de disposer d'une version complŠte de Visual Studio 2005, 2008 rem ou 2010. rem Il requiert ‚galement la pr‚sence d'un utilitaire "Subversion" en ligne de commande, rem ainsi qu'un installation de "WinZip" avec son extension de ligne de commande. rem Pr‚paration du processeur de commande setlocal ENABLEEXTENSIONS setlocal DISABLEDELAYEDEXPANSION rem S'assurer que le r‚pertoire courant est bien celui o— se trouve le pr‚sent script %~d0 cd %~p0 :inputloop cls echo Script de g‚n‚ration des fichiers de publication de Pouchin TV Mod. echo Choisissez une option : echo. echo tapez "B" pour une g‚n‚rer version beta ou exp‚rimentale (avec echo l'installeur au format .ZIP) ; echo tapez "S" pour une g‚n‚rer version stable (avec les fichiers echo source zipp‚s et les fichiers .ZIP sans installeur) ; echo tapez "Q" pour quitter set /p INPUT=* if "%INPUT%" == "b" goto:beta if "%INPUT%" == "B" goto:beta if "%INPUT%" == "s" goto:stable if "%INPUT%" == "S" goto:stable if "%INPUT%" == "q" goto:eof if "%INPUT%" == "Q" goto:eof goto:inputloop :beta echo ##### Version BETA s‚lectionn‚e set BUILD_STABLE=0 goto:common :stable echo ##### Version STABLE s‚lectionn‚e set BUILD_STABLE=1 :common rem D‚terminer l'emplacement du r‚pertoire "Program Files" en 32 bits set PF=%ProgramFiles(x86)% if "%PF%"=="" set PF=%ProgramFiles% rem Application WinZip en ligne de commande (extension t‚l‚chargeable s‚par‚ment, et qui doit ˆtre install‚e !!) set WZZ=%PF%\WinZip\WZZIP.EXE if exist "%WZZ%" goto:wzzexist echo ##### WzZip (WinZip ligne de commande) n'est pas disponible pause goto:eof :wzzexist echo. echo. echo ######################################################### rem D‚terminer quel compilateur est disponible call:findcompiler "%VS100COMNTOOLS%..\Ide\devenv.com" if exist "%COMPILER%" ( set COMPVER=2010 set EDITION=FULL goto:compfound ) call:findcompiler "%VS100COMNTOOLS%..\Ide\VCExpress.exe" if exist "%COMPILER%" ( set COMPVER=2010 set EDITION=EXPRESS goto:compfound ) call:findcompiler "%VS90COMNTOOLS%..\Ide\devenv.com" if exist "%COMPILER%" ( set COMPVER=2008 set EDITION=FULL goto:compfound ) call:findcompiler "%VS90COMNTOOLS%..\Ide\VCExpress.exe" if exist "%COMPILER%" ( set COMPVER=2008 set EDITION=EXPRESS goto:compfound ) call:findcompiler "%VS80COMNTOOLS%..\Ide\devenv.com" if exist "%COMPILER%" ( set COMPVER=2005 set EDITION=FULL goto:compfound ) call:findcompiler "%VS80COMNTOOLS%..\Ide\VCExpress.exe" if exist "%COMPILER%" ( set COMPVER=2005 set EDITION=EXPRESS goto:compfound ) set COMPVER=NONE set EDITION=NONE set COMPOPT= :compfound echo ##### Compilateur = Visual C++ %COMPVER% (%EDITION%) if "%EDITION%"=="EXPRESS" ( echo ##### Les compilateurs Visual C++ Express ne sont actuellement pas pris en charge par ce script goto:eof ) set PROJECTNAME="Pouchin TV Mod" rem (d‚commenter pour sauter la compilation) rem goto:postprocess echo. echo ######################################################### echo ##### Construction de la version Release 64 bits "%COMPILER%" "Pouchin TV_%COMPVER%.sln" %COMPOPT% /Rebuild "Release|x64" /Project %PROJECTNAME% if errorlevel 1 goto:error_gen echo. echo ######################################################### echo ##### Construction de la version Diagnostic 64 bits "%COMPILER%" "Pouchin TV_%COMPVER%.sln" %COMPOPT% /Rebuild "Diagnostic|x64" /Project %PROJECTNAME% if errorlevel 1 goto:error_gen echo. echo ######################################################### echo ##### Construction de la version Release 32 bits "%COMPILER%" "Pouchin TV_%COMPVER%.sln" %COMPOPT% /Rebuild "Release|Win32" /Project %PROJECTNAME% if errorlevel 1 goto:error_gen echo. echo ######################################################### echo ##### Construction de la version Diagnostic 32 bits "%COMPILER%" "Pouchin TV_%COMPVER%.sln" %COMPOPT% /Rebuild "Diagnostic|Win32" /Project %PROJECTNAME% if errorlevel 1 goto:error_gen echo. echo ######################################################### echo ##### Construction de l'installeur Release "%COMPILER%" "Pouchin TV_%COMPVER%.sln" %COMPOPT% /Build "Release|Win32" /Project "Setup" if errorlevel 1 goto:error_gen echo. echo ######################################################### echo ##### Construction de l'installeur Diagnostic "%COMPILER%" "Pouchin TV_%COMPVER%.sln" %COMPOPT% /Build "Diagnostic|Win32" /Project "Setup" if errorlevel 1 goto:error_gen :postprocess echo. echo ######################################################### echo ##### R‚cup‚rer le num‚ro de version call version.bat rem D‚finir l'emplacement de sortie pour la version SET BUILDDIR=Builds\%PRODUCT_VERSION% echo. echo ######################################################### echo ##### Effacement de l'‚ventuel contenu pr‚c‚dent rmdir /Q /S "%BUILDDIR%" echo. echo ######################################################### echo ##### Copie dans le r‚pertoire de destination mkdir %BUILDDIR%\diag 2>NUL copy "Builds\PouchinTVMod_setup.%PRODUCT_VERSION%.exe" "%BUILDDIR%" copy "Builds\diag\PouchinTVMod_diag_setup.%PRODUCT_VERSION%.exe" "%BUILDDIR%\diag" copy "Builds\PouchinTVMod.%PRODUCT_VERSION%.lzma" "%BUILDDIR%" copy "Builds\x64\PouchinTVMod_x64.%PRODUCT_VERSION%.lzma" "%BUILDDIR%" copy "Builds\changelog.lzma" "%BUILDDIR%" copy "Help\PouchinTVMod.chm" "%BUILDDIR%" echo. echo ######################################################### echo ##### Archivage des PDB Release "%WZZ%" %BUILDDIR%\PouchinTVMod.pdb.zip Builds\PouchinTVMod.pdb Builds\x64\PouchinTVMod_x64.pdb if errorlevel 1 goto:error_gen echo. echo ######################################################### echo ##### Archivage des PDB Diagnostic "%WZZ%" %BUILDDIR%\diag\PouchinTVMod_diag.pdb.zip Builds\diag\PouchinTVMod_diag.pdb Builds\diag\x64\PouchinTVMod_diag_x64.pdb if errorlevel 1 goto:error_gen if "%BUILD_STABLE%" == "1" goto:nozipsetup echo. echo ######################################################### echo ##### G‚n‚ration d'une version zipp‚e de l'installeur "%WZZ%" "%BUILDDIR%\PouchinTVMod_setup.%PRODUCT_VERSION%.zip" "%BUILDDIR%\PouchinTVMod_setup.%PRODUCT_VERSION%.exe" if errorlevel 1 goto:error_gen :nozipsetup if "%BUILD_STABLE%" == "0" goto:nozipappl echo. echo ######################################################### echo ##### G‚n‚ration de la version sans installeur en 32 bits set TMPNAM32=PouchinTVMod.%PRODUCT_VERSION% set TMPDIR32=%BUILDDIR%\%TMPNAM32% mkdir "%TMPDIR32%" 2>NUL copy AUTHORS "%TMPDIR32%\" copy Builds\PouchinTVMod.exe "%TMPDIR32%\" copy "Pouchin TV Mod.url" "%TMPDIR32%\" copy "PouchinTVMod.chm" "%TMPDIR32%\" copy Install\gpl.txt "%TMPDIR32%\" copy Install\REFERENCES "%TMPDIR32%\" copy changelog.html "%TMPDIR32%\" copy style.css "%TMPDIR32%\" svn export Icones "%TMPDIR32%\Icones" if errorlevel 1 goto:error_gen pushd "%BUILDDIR%" "%WZZ%" -P -r "%TMPNAM32%.zip" "%TMPNAM32%" if errorlevel 1 goto:error_gen popd echo. echo ######################################################### echo ##### G‚n‚ration de la version sans installeur en 64 bits rem Renommage du r‚pertoire pr‚c‚dent et remplacement de l'ex‚cutable par une version 64 bits set TMPNAM64=PouchinTVMod_x64.%PRODUCT_VERSION% set TMPDIR64=%BUILDDIR%\%TMPNAM64% del "%TMPDIR32%\PouchinTVMod.exe" move "%TMPDIR32%" "%TMPDIR64%" copy Builds\x64\PouchinTVMod_x64.exe "%TMPDIR64%" pushd "%BUILDDIR%" "%WZZ%" -P -r "%TMPNAM64%.zip" "%TMPNAM64%" if errorlevel 1 goto:error_gen popd rmdir /Q /S "%TMPDIR64%" :nozipappl if "%BUILD_STABLE%" == "0" goto:nozipsrc echo. echo ######################################################### echo ##### G‚n‚ration de l'extraction des fichiers source set TMPSRCNAME=PouchinTVMod_src.%PRODUCT_VERSION% set TMPSRCDIR=%BUILDDIR%\%TMPSRCNAME% svn export . "%TMPSRCDIR%" if errorlevel 1 goto:error_gen copy "version.h" "%TMPSRCDIR%" copy "version.bat" "%TMPSRCDIR%" copy "version.nsh" "%TMPSRCDIR%" pushd "%BUILDDIR%" "%WZZ%" -P -r "%TMPSRCNAME%.zip" "%TMPSRCNAME%" if errorlevel 1 goto:error_gen popd rmdir /Q /S "%TMPSRCDIR%" :nozipsrc rem Fini echo. echo. echo ######################################################### echo ######################################################### echo ############### *** GENERATION TERMINEE *** ############# echo ######################################################### echo ######################################################### echo. pause goto:eof rem ============================================================================================ rem Sous-programme : Erreur … la g‚n‚ration rem ============================================================================================ :error_gen echo. echo. echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo !!!!!!!!!!!!! *** ERREUR A LA GENERATION *** !!!!!!!!!!!! echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo. pause exit /b 1 rem ============================================================================================ rem Sous-programme : G‚n‚rer le chemin d'accŠs du compilateur rem ============================================================================================ :findcompiler set COMPILER=%~f1