Better property manager and user macros support.
[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 BUILD_DIR=%BUILD_DIR:"=%
10 SET INSTALL_DIR=%INSTALL_DIR:"=%
11
12 IF "" == "%PLATFORM%" (
13         ECHO Error: No platform parameter set.
14         GOTO ON_ERROR
15
16         )
17 IF "" == "%CONFIG%" (
18         ECHO Error: No configuration parameter set.
19         GOTO ON_ERROR
20 )
21
22 IF "" == "%BUILD_DIR%" (
23         ECHO Error: No MONO_BUILD_DIR_PREFIX parameter set.
24         GOTO ON_ERROR
25 )
26
27 IF "" == "%INSTALL_DIR%" (
28         ECHO Error: No MONO_INSTALLATION_DIR_PREFIX parameter set.
29         GOTO ON_ERROR
30 )
31
32 IF "\" == "%BUILD_DIR:~-1%" (
33         SET BUILD_DIR=%BUILD_DIR:~0,-1%
34 )
35
36 IF "\" == "%INSTALL_DIR:~-1%" (
37         SET INSTALL_DIR=%INSTALL_DIR:~0,-1%
38 )
39
40 IF NOT EXIST %BUILD_DIR% (
41         ECHO Error: '%BUILD_DIR%', directory doesn't eixst.
42         GOTO ON_ERROR
43 )
44
45 IF NOT EXIST %INSTALL_DIR% (
46         ECHO Error: '%INSTALL_DIR%', directory doesn't eixst.
47         GOTO ON_ERROR
48 )
49
50 SET PACKAGE_DIR=%BUILD_DIR%\package\%PLATFORM%\%CONFIG%
51
52 IF NOT EXIST %PACKAGE_DIR% (
53         ECHO Error: '%PACKAGE_DIR%' directory unavailable.
54         GOTO ON_ERROR
55 )
56
57 SET OPTIONS=/s /e /y
58
59 IF "-v" == "%ARGUMENTS%" (
60         SET OPTIONS=/f /s /e /y
61 )
62
63 IF "-q" == "%ARGUMENTS%" (
64         SET "OPTIONS=/s /e /q /y ^>nul"
65 )
66
67 ECHO Installing mono build %PLATFORM% %CONFIG% from %BUILD_DIR% into %INSTALL_DIR% ...
68
69 SET RUN=xcopy "%PACKAGE_DIR%\*.*" "%INSTALL_DIR%" %OPTIONS%
70 %RUN%
71
72 ECHO Installing of mono build %PLATFORM% %CONFIG% from %BUILD_DIR% into %INSTALL_DIR% DONE. 
73
74 EXIT /b 0
75
76 :ON_ERROR
77         ECHO "install.bat [win32|x64] [Debug|Release] [MONO_BUILD_DIR_PREFIX] [MONO_INSTALLATION_DIR_PREFIX] [ARGUMENTS]"
78         EXIT /b 1
79
80 @ECHO on
81