Merge pull request #3806 from BrzVlad/feature-parallel-gc-final
[mono-project.git] / msvc / install.bat
blob1a433991a7d53c754281b49475de26e4b88d6cde
1 @ECHO off
3 SET PLATFORM=%1
4 SET CONFIG=%2
5 SET BUILD_DIR=%3
6 SET INSTALL_DIR=%4
7 SET ARGUMENTS=%5
9 SET XCOPY_COMMAND=%windir%\system32\xcopy
11 SET BUILD_DIR=%BUILD_DIR:"=%
12 SET BUILD_DIR=%BUILD_DIR:/=\%
13 SET INSTALL_DIR=%INSTALL_DIR:"=%
14 SET INSTALL_DIR=%INSTALL_DIR:/=\%
16 IF "" == "%PLATFORM%" (
17         ECHO Error: No platform parameter set.
18         GOTO ON_ERROR
20         )
21 IF "" == "%CONFIG%" (
22         ECHO Error: No configuration parameter set.
23         GOTO ON_ERROR
26 IF "" == "%BUILD_DIR%" (
27         ECHO Error: No MONO_BUILD_DIR_PREFIX parameter set.
28         GOTO ON_ERROR
31 IF "" == "%INSTALL_DIR%" (
32         ECHO Error: No MONO_INSTALLATION_DIR_PREFIX parameter set.
33         GOTO ON_ERROR
36 IF "\" == "%BUILD_DIR:~-1%" (
37         SET BUILD_DIR=%BUILD_DIR:~0,-1%
40 IF "\" == "%INSTALL_DIR:~-1%" (
41         SET INSTALL_DIR=%INSTALL_DIR:~0,-1%
44 IF NOT EXIST %BUILD_DIR% (
45         ECHO Error: '%BUILD_DIR%', directory doesn't eixst.
46         GOTO ON_ERROR
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.
55 SET PACKAGE_DIR=%BUILD_DIR%\package\%PLATFORM%\%CONFIG%
57 IF NOT EXIST %PACKAGE_DIR% (
58         ECHO Error: '%PACKAGE_DIR%' directory unavailable.
59         GOTO ON_ERROR
62 SET OPTIONS=/s /e /y
64 IF "-v" == "%ARGUMENTS%" (
65         SET OPTIONS=/f /s /e /y
68 IF "-q" == "%ARGUMENTS%" (
69         SET "OPTIONS=/s /e /q /y"
72 ECHO Installing mono build %PLATFORM% %CONFIG% from %PACKAGE_DIR% into %INSTALL_DIR% ...
74 SET RUN=%XCOPY_COMMAND% "%PACKAGE_DIR%\*.*" "%INSTALL_DIR%" %OPTIONS%
75 call :runCommand "%RUN%" %ARGUMENTS%
77 ECHO Installing of mono build %PLATFORM% %CONFIG% from %PACKAGE_DIR% into %INSTALL_DIR% DONE.
79 EXIT /b 0
81 :ON_ERROR
82         ECHO "install.bat [win32|x64] [Debug|Release] [MONO_BUILD_DIR_PREFIX] [MONO_INSTALLATION_DIR_PREFIX] [ARGUMENTS]"
83         EXIT /b 1
85 @ECHO on
87 :runCommand
89         IF "-q" == "%~2" (
90                 %~1 >nul 2>&1
91         ) ELSE (
92                 %~1
93         )
95 goto :EOF
96