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 SCRIPTS_PATH=%BASE_PATH%\scripts\windows
38 SET ADDONS_PATH=%BASE_PATH%\addons
39 SET ADDON_DEPENDS_PATH=%ADDONS_PATH%\output
40 SET ADDONS_BUILD_PATH=%ADDONS_PATH%\build
42 SET ERRORFILE=%BASE_PATH%\make-addons.error
44 rem determine whether make-addon-depends.bat should be called with noclean or not
45 SET addon_depends_mode=clean
46 IF %noclean% == true (
47 SET addon_depends_mode=noclean
50 IF %getdepends% == true (
51 ECHO --------------------------------------------------
52 ECHO Building addon dependencies
53 ECHO --------------------------------------------------
55 CALL make-addon-depends.bat %addon_depends_mode%
57 ECHO make-addon-depends error level: %ERRORLEVEL% > %ERRORFILE%
64 IF %noclean% == false (
65 rem remove the build directory if it exists
66 IF EXIST "%ADDONS_BUILD_PATH%" (
67 RMDIR "%ADDONS_BUILD_PATH%" /S /Q > NUL
71 rem create the build directory
72 IF NOT EXIST "%ADDONS_BUILD_PATH%" MKDIR "%ADDONS_BUILD_PATH%"
74 rem go into the build directory
75 CD "%ADDONS_BUILD_PATH%"
77 rem determine the proper install path for the built addons
78 IF %install% == true (
79 SET ADDONS_INSTALL_PATH=%WORKDIR%\addons
81 SET ADDONS_INSTALL_PATH=%WORKDIR%\project\Win32BuildSetup\BUILD_WIN32\Xbmc\xbmc-addons
84 ECHO --------------------------------------------------
86 ECHO --------------------------------------------------
88 SET ADDONS_TO_BUILD="all"
90 SET ADDONS_TO_BUILD="%addon%"
93 rem execute cmake to generate makefiles processable by nmake
94 cmake "%ADDONS_PATH%" -G "NMake Makefiles" ^
95 -DCMAKE_BUILD_TYPE=Release ^
96 -DCMAKE_USER_MAKE_RULES_OVERRIDE="%SCRIPTS_PATH%/xbmc-c-flag-overrides.cmake" ^
97 -DCMAKE_USER_MAKE_RULES_OVERRIDE_CXX="%SCRIPTS_PATH%/xbmc-cxx-flag-overrides.cmake" ^
98 -DCMAKE_INSTALL_PREFIX=%ADDONS_INSTALL_PATH% ^
99 -DXBMCROOT=%WORKDIR% ^
100 -DCMAKE_PREFIX_PATH=%ADDON_DEPENDS_PATH% ^
102 -DARCH_DEFINES="-DTARGET_WINDOWS -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS -D_USE_32BIT_TIME_T -D_WINSOCKAPI_" ^
103 -DADDONS_TO_BUILD="%ADDONS_TO_BUILD%"
105 ECHO cmake error level: %ERRORLEVEL% > %ERRORFILE%
109 rem execute nmake to build the addons
112 ECHO nmake error level: %ERRORLEVEL% > %ERRORFILE%
116 rem everything was fine
120 rem something went wrong
121 ECHO Failed to build addons
122 ECHO See %ERRORFILE% for more details
126 rem go back to the original directory
129 rem exit the script with the defined exitcode