Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / msvc / install.bat
1 @ECHO off
2
3 SET PLATFORM=%1
4 SET CONFIG=%2
5 SET BUILD_DIR=%3
6 SET INSTALL_DIR=%4
7 SET ARGUMENTS=%5
8
9 SET XCOPY_COMMAND=%windir%\system32\xcopy
10
11 SET BUILD_DIR=%BUILD_DIR:"=%
12 SET BUILD_DIR=%BUILD_DIR:/=\%
13 SET INSTALL_DIR=%INSTALL_DIR:"=%
14 SET INSTALL_DIR=%INSTALL_DIR:/=\%
15
16 IF "" == "%PLATFORM%" (
17         ECHO Error: No platform parameter set.
18         GOTO ON_ERROR
19
20         )
21 IF "" == "%CONFIG%" (
22         ECHO Error: No configuration parameter set.
23         GOTO ON_ERROR
24 )
25
26 IF "" == "%BUILD_DIR%" (
27         ECHO Error: No MONO_BUILD_DIR_PREFIX parameter set.
28         GOTO ON_ERROR
29 )
30
31 IF "" == "%INSTALL_DIR%" (
32         ECHO Error: No MONO_INSTALLATION_DIR_PREFIX parameter set.
33         GOTO ON_ERROR
34 )
35
36 IF "\" == "%BUILD_DIR:~-1%" (
37         SET BUILD_DIR=%BUILD_DIR:~0,-1%
38 )
39
40 IF "\" == "%INSTALL_DIR:~-1%" (
41         SET INSTALL_DIR=%INSTALL_DIR:~0,-1%
42 )
43
44 IF NOT EXIST %BUILD_DIR% (
45         ECHO Error: '%BUILD_DIR%', directory doesn't eixst.
46         GOTO ON_ERROR
47 )
48
49 IF NOT EXIST %INSTALL_DIR% (
50         ECHO Install directory '%INSTALL_DIR%', directory doesn't eixst, creating....
51         mkdir "%INSTALL_DIR%"
52         ECHO Install directory '%INSTALL_DIR%' created.
53 )
54
55 SET PACKAGE_DIR=%BUILD_DIR%\package\%PLATFORM%\%CONFIG%
56
57 IF NOT EXIST %PACKAGE_DIR% (
58         ECHO Error: '%PACKAGE_DIR%' directory unavailable.
59         GOTO ON_ERROR
60 )
61
62 SET OPTIONS=/s /e /y
63
64 IF "-v" == "%ARGUMENTS%" (
65         SET OPTIONS=/f /s /e /y
66 )
67
68 IF "-q" == "%ARGUMENTS%" (
69         SET "OPTIONS=/s /e /q /y"
70 )
71
72 ECHO Installing mono build %PLATFORM% %CONFIG% from %PACKAGE_DIR% into %INSTALL_DIR% ...
73
74 SET RUN=%XCOPY_COMMAND% "%PACKAGE_DIR%\*.*" "%INSTALL_DIR%" %OPTIONS%
75 call :runCommand "%RUN%" %ARGUMENTS%
76
77 ECHO Installing of mono build %PLATFORM% %CONFIG% from %PACKAGE_DIR% into %INSTALL_DIR% DONE.
78
79 EXIT /b 0
80
81 :ON_ERROR
82         ECHO "install.bat [win32|x64] [Debug|Release] [MONO_BUILD_DIR_PREFIX] [MONO_INSTALLATION_DIR_PREFIX] [ARGUMENTS]"
83         EXIT /b 1
84
85 @ECHO on
86
87 :runCommand
88
89         IF "-q" == "%~2" (
90                 %~1 >nul 2>&1
91         ) ELSE (
92                 %~1
93         )
94
95 goto :EOF
96