Merge pull request #5117 from MartijnKaijser/14.0a2
[vuplus_xbmc] / tools / buildsteps / win32 / make-addon-depends.bat
1 @ECHO OFF
2
3 SETLOCAL
4
5 SET EXITCODE=0
6
7 SET noclean=false
8 SET dependency=
9 FOR %%b in (%1, %2) DO (
10   IF %%b == noclean (
11     SET noclean=true
12   ) ELSE ( IF %%b == clean (
13     SET noclean=false
14   ) ELSE (
15     SET dependency=%%b
16   ))
17 )
18
19 rem set Visual C++ build environment
20 call "%VS120COMNTOOLS%..\..\VC\bin\vcvars32.bat"
21
22 SET WORKDIR=%WORKSPACE%
23
24 IF "%WORKDIR%" == "" (
25   SET WORKDIR=%CD%\..\..\..
26 )
27
28 rem setup some paths that we need later
29 SET CUR_PATH=%CD%
30
31 SET BASE_PATH=%WORKDIR%\project\cmake\
32 SET ADDONS_PATH=%BASE_PATH%\addons
33 SET ADDONS_OUTPUT_PATH=%ADDONS_PATH%\output
34 SET ADDON_DEPENDS_PATH=%ADDONS_PATH%\depends\win32
35 SET ADDON_DEPENDS_BUILD_PATH=%ADDON_DEPENDS_PATH%\build
36
37 SET ERRORFILE=%BASE_PATH%\make-addon-depends.error
38
39 IF %noclean% == false (
40   rem remove the output directory if it exists
41   IF EXIST "%ADDONS_OUTPUT_PATH%" (
42     RMDIR "%ADDONS_OUTPUT_PATH%" /S /Q > NUL
43   )
44
45   rem remove the build directory if it exists
46   IF EXIST "%ADDON_DEPENDS_BUILD_PATH%" (
47     RMDIR "%ADDON_DEPENDS_BUILD_PATH%" /S /Q > NUL
48   )
49 )
50
51 rem create the output directory
52 IF NOT EXIST "%ADDONS_OUTPUT_PATH%" MKDIR "%ADDONS_OUTPUT_PATH%"
53
54 rem create the build directory
55 IF NOT EXIST "%ADDON_DEPENDS_BUILD_PATH%" MKDIR "%ADDON_DEPENDS_BUILD_PATH%"
56
57 rem go into the build directory
58 CD "%ADDON_DEPENDS_BUILD_PATH%"
59
60 rem execute cmake to generate makefiles processable by nmake
61 cmake "%ADDON_DEPENDS_PATH%" -G "NMake Makefiles" ^
62       -DCMAKE_BUILD_TYPE=Release ^
63       -DCMAKE_INSTALL_PREFIX=%ADDONS_OUTPUT_PATH%
64 IF ERRORLEVEL 1 (
65   ECHO cmake error level: %ERRORLEVEL% > %ERRORFILE%
66   GOTO ERROR
67 )
68
69 rem execute nmake to build the addon depends
70 nmake %dependency%
71 IF ERRORLEVEL 1 (
72   ECHO nmake error level: %ERRORLEVEL% > %ERRORFILE%
73   GOTO ERROR
74 )
75
76 rem everything was fine
77 GOTO END
78
79 :ERROR
80 rem something went wrong
81 ECHO Failed to build addon dependencies
82 ECHO See %ERRORFILE% for more details
83 SET EXITCODE=1
84
85 :END
86 rem go back to the original directory
87 cd %CUR_PATH%
88
89 rem exit the script with the defined exitcode
90 EXIT /B %EXITCODE%