11 FOR %%b in (%1, %2, %3, %4) DO (
14 ) ELSE ( IF %%b == install (
16 ) ELSE ( IF %%b == noclean (
18 ) ELSE ( IF %%b == clean (
25 rem set Visual C++ build environment
26 call "%VS120COMNTOOLS%..\..\VC\bin\vcvars32.bat"
28 SET WORKDIR=%WORKSPACE%
30 IF "%WORKDIR%" == "" (
31 SET WORKDIR=%CD%\..\..\..
34 rem setup some paths that we need later
36 SET BASE_PATH=%WORKDIR%\project\cmake
37 SET ADDONS_PATH=%BASE_PATH%\addons
38 SET ADDON_DEPENDS_PATH=%ADDONS_PATH%\output
39 SET ADDONS_BUILD_PATH=%ADDONS_PATH%\build
41 SET ERRORFILE=%BASE_PATH%\make-addons.error
43 SET XBMC_INCLUDE_PATH=%ADDON_DEPENDS_PATH%\include\xbmc
44 SET XBMC_LIB_PATH=%ADDON_DEPENDS_PATH%\lib\xbmc
46 rem determine whether make-addon-depends.bat should be called with noclean or not
47 SET addon_depends_mode=clean
48 IF %noclean% == true (
49 SET addon_depends_mode=noclean
52 IF %getdepends% == true (
53 ECHO --------------------------------------------------
54 ECHO Building addon dependencies
55 ECHO --------------------------------------------------
57 CALL make-addon-depends.bat %addon_depends_mode%
59 ECHO make-addon-depends error level: %ERRORLEVEL% > %ERRORFILE%
66 IF %noclean% == false (
67 rem remove the build directory if it exists
68 IF EXIST "%ADDONS_BUILD_PATH%" (
69 RMDIR "%ADDONS_BUILD_PATH%" /S /Q > NUL
73 rem make sure the xbmc include and library paths exist
74 IF NOT EXIST "%XBMC_INCLUDE_PATH%" (
75 MKDIR "%XBMC_INCLUDE_PATH%"
77 IF NOT EXIST "%XBMC_LIB_PATH%" (
78 MKDIR "%XBMC_LIB_PATH%"
81 rem create the build directory
82 IF NOT EXIST "%ADDONS_BUILD_PATH%" MKDIR "%ADDONS_BUILD_PATH%"
84 rem go into the build directory
85 CD "%ADDONS_BUILD_PATH%"
87 rem determine the proper install path for the built addons
88 IF %install% == true (
89 SET ADDONS_INSTALL_PATH=%WORKDIR%\addons
91 SET ADDONS_INSTALL_PATH=%WORKDIR%\project\Win32BuildSetup\BUILD_WIN32\Xbmc\xbmc-addons
94 ECHO --------------------------------------------------
96 ECHO --------------------------------------------------
98 rem execute cmake to generate makefiles processable by nmake
99 cmake "%ADDONS_PATH%" -G "NMake Makefiles" ^
100 -DCMAKE_BUILD_TYPE=Release ^
101 -DCMAKE_USER_MAKE_RULES_OVERRIDE="%BASE_PATH%/xbmc-c-flag-overrides.cmake" ^
102 -DCMAKE_USER_MAKE_RULES_OVERRIDE_CXX="%BASE_PATH%/xbmc-cxx-flag-overrides.cmake" ^
103 -DCMAKE_INSTALL_PREFIX=%ADDONS_INSTALL_PATH% ^
104 -DXBMCROOT=%WORKDIR% ^
105 -DDEPENDS_PATH=%ADDON_DEPENDS_PATH% ^
107 -DARCH_DEFINES="-DTARGET_WINDOWS -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS -D_USE_32BIT_TIME_T -D_WINSOCKAPI_"
109 ECHO cmake error level: %ERRORLEVEL% > %ERRORFILE%
113 rem execute nmake to build the addons
116 ECHO nmake error level: %ERRORLEVEL% > %ERRORFILE%
120 rem everything was fine
124 rem something went wrong
125 ECHO Failed to build addons
126 ECHO See %ERRORFILE% for more details
130 rem go back to the original directory
133 rem exit the script with the defined exitcode