Skip to content

Commit

Permalink
[win32] build xbmc-pvr-addons with BuildSetup.bat
Browse files Browse the repository at this point in the history
  • Loading branch information
Montellese committed Dec 5, 2012
1 parent 192701b commit 545ceef
Show file tree
Hide file tree
Showing 5 changed files with 109 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,7 @@ lib/cmyth/Makefile
/project/Win32BuildSetup/XBMC.log
/project/Win32BuildSetup/XBMCSetup*.exe
/project/Win32BuildSetup/languages.nsi
/project/Win32BuildSetup/xbmc-pvr-addons.nsi
/project/Win32BuildSetup/BUILD_WIN32/
/project/Win32BuildSetup/dependencies

Expand Down
3 changes: 3 additions & 0 deletions project/Win32BuildSetup/BuildSetup.bat
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,9 @@ IF %comp%==vs2010 (
xcopy ..\..\system BUILD_WIN32\Xbmc\system /E /Q /I /Y /EXCLUDE:exclude.txt > NUL
xcopy ..\..\media BUILD_WIN32\Xbmc\media /E /Q /I /Y /EXCLUDE:exclude.txt > NUL
xcopy ..\..\sounds BUILD_WIN32\Xbmc\sounds /E /Q /I /Y /EXCLUDE:exclude.txt > NUL

ECHO ------------------------------------------------------------
call buildpvraddons.bat %NET%

IF EXIST error.log del error.log > NUL
SET build_path=%CD%
Expand Down
5 changes: 5 additions & 0 deletions project/Win32BuildSetup/XBMC for Windows.nsi
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,11 @@ SectionGroupEnd
!include /nonfatal "plugins.nsi"
;SectionGroupEnd

SectionGroup "PVR Addons" SecPvrAddons
;xbmc-pvr-addons.nsi is generated by genNsisIncludes.bat
!include /nonfatal "xbmc-pvr-addons.nsi"
SectionGroupEnd

;--------------------------------
;Descriptions

Expand Down
88 changes: 88 additions & 0 deletions project/Win32BuildSetup/buildpvraddons.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
@ECHO OFF

REM Batch file to download and build xbmc-pvr-addons and place them in xbmc's addons folder

SET CUR_DIR=%CD%
SET EXITCODE=0

SET DEPS_DIR=..\BuildDependencies
SET TMP_DIR=%DEPS_DIR%\tmp

SET LIBNAME=xbmc-pvr-addons
SET VERSION=252fbbeaa1b2615ec21204756f5db8309b144da8
SET SOURCE=%LIBNAME%-%VERSION%
SET GIT_URL=git://github.com/opdenkamp/%LIBNAME%.git
SET SOURCE_DIR=%TMP_DIR%\%SOURCE%
SET BUILT_ADDONS_DIR=%SOURCE_DIR%\addons

set OPTS_EXE=%SOURCE_DIR%\project\VS2010Express\xbmc-pvr-addons.sln /build Release

REM Try wrapped msysgit - must be in the path
SET GITEXE=git.cmd
CALL %GITEXE% --help > NUL 2>&1
IF errorlevel 1 GOTO nowrapmsysgit
GOTO work

:nowrapmsysgit

REM Fallback on regular msysgit - must be in the path
SET GITEXE=git.exe
%GITEXE% --help > NUL
IF errorlevel 9009 IF NOT errorlevel 9010 GOTO nomsysgit
GOTO work

:nomsysgit

REM Fallback on tgit.exe of TortoiseGit if available
SET GITEXE=tgit.exe
%GITEXE% --version > NUL 2>&1
IF errorlevel 9009 IF NOT errorlevel 9010 GOTO error
GOTO work


:work
IF NOT EXIST "%TMP_DIR%" MD "%TMP_DIR%"

REM clone the git repository into SOURCE_DIR
CALL %GITEXE% clone %GIT_URL% "%SOURCE_DIR%" > NUL

:build
REM run DownloadBuildDeps.bat of xbmc-pvr-addons
CD "%SOURCE_DIR%\project\BuildDependencies"
CALL DownloadBuildDeps.bat > NUL 2>&1
CD "%CUR_DIR%"

REM build xbmc-pvr-addons.sln
ECHO Building PVR addons
%1 %OPTS_EXE%

REM copy the built pvr addons into ADDONS_DIR
CD "%BUILT_ADDONS_DIR%"
SET ADDONS_DIR=..\..\..\..\Win32BuildSetup\BUILD_WIN32\Xbmc\xbmc-pvr-addons

REM exclude some files
ECHO addon.xml.in > exclude.txt
ECHO _win32.exp >> exclude.txt
ECHO _win32.lib >> exclude.txt
ECHO _win32.pdb >> exclude.txt
FOR /D %%A IN ("pvr.*") DO (
IF EXIST "%%A\addon" (
ECHO Installing %%A
XCOPY "%%A\addon\*" "%ADDONS_DIR%\%%A" /E /Q /I /Y /EXCLUDE:exclude.txt > NUL
)
)
DEL exclude.txt > NUL
CD "%CUR_DIR%"

REM cleanup temporary directories
RMDIR "%TMP_DIR%" /S /Q > NUL

GOTO done

:error
ECHO No git command available. Unable to fetch and build xbmc-pvr-addons.
SET EXITCODE=1

:done
SET GITEXE=
EXIT /B %EXITCODE%
12 changes: 12 additions & 0 deletions project/Win32BuildSetup/genNsisIncludes.bat
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@ rem http://xbmc.org

rem Script by chadoe
rem This script generates nullsoft installer include files for xbmc's languages
rem and pvr addons

rem languages
IF EXIST languages.nsi del languages.nsi > NUL
IF EXIST xbmc-pvr-addons.nsi del xbmc-pvr-addons.nsi > NUL
SETLOCAL ENABLEDELAYEDEXPANSION
SET Counter=1
FOR /F "tokens=*" %%S IN ('dir /B /AD BUILD_WIN32\Xbmc\language') DO (
Expand All @@ -21,4 +23,14 @@ FOR /F "tokens=*" %%S IN ('dir /B /AD BUILD_WIN32\Xbmc\language') DO (
SET /A Counter = !Counter! + 1
)
)

SET Counter=1
FOR /F "tokens=*" %%P IN ('dir /B /AD BUILD_WIN32\Xbmc\xbmc-pvr-addons') DO (
ECHO Section "%%P" SecPvrAddons!Counter! >> xbmc-pvr-addons.nsi
ECHO SectionIn 1 #section is in installtype Full >> xbmc-pvr-addons.nsi
ECHO SetOutPath "$INSTDIR\addons\%%P" >> xbmc-pvr-addons.nsi
ECHO File /r "${xbmc_root}\Xbmc\xbmc-pvr-addons\%%P\*.*" >> xbmc-pvr-addons.nsi
ECHO SectionEnd >> xbmc-pvr-addons.nsi
SET /A Counter = !Counter! + 1
)
ENDLOCAL

0 comments on commit 545ceef

Please sign in to comment.