git

Форк
0
/
vcpkg_install.bat 
80 строк · 2.4 Кб
1
@ECHO OFF
2
REM ================================================================
3
REM This script installs the "vcpkg" source package manager and uses
4
REM it to build the third-party libraries that git requires when it
5
REM is built using MSVC.
6
REM
7
REM [1] Install VCPKG.
8
REM     [a] Create <root>/compat/vcbuild/vcpkg/
9
REM     [b] Download "vcpkg".
10
REM     [c] Compile using the currently installed version of VS.
11
REM     [d] Create <root>/compat/vcbuild/vcpkg/vcpkg.exe
12
REM
13
REM [2] Install third-party libraries.
14
REM     [a] Download each (which may also install CMAKE).
15
REM     [b] Compile in RELEASE mode and install in:
16
REM         vcpkg/installed/<arch>/{bin,lib}
17
REM     [c] Compile in DEBUG mode and install in:
18
REM         vcpkg/installed/<arch>/debug/{bin,lib}
19
REM     [d] Install headers in:
20
REM         vcpkg/installed/<arch>/include
21
REM
22
REM [3] Create a set of MAKE definitions for the top-level
23
REM     Makefile to allow "make MSVC=1" to find the above
24
REM     third-party libraries.
25
REM     [a] Write vcpkg/VCPGK-DEFS
26
REM
27
REM https://blogs.msdn.microsoft.com/vcblog/2016/09/19/vcpkg-a-tool-to-acquire-and-build-c-open-source-libraries-on-windows/
28
REM https://github.com/Microsoft/vcpkg
29
REM https://vcpkg.readthedocs.io/en/latest/
30
REM ================================================================
31

32
	SETLOCAL EnableDelayedExpansion
33

34
	@FOR /F "delims=" %%D IN ("%~dp0") DO @SET cwd=%%~fD
35
	cd %cwd%
36

37
	dir vcpkg\vcpkg.exe >nul 2>nul && GOTO :install_libraries
38

39
	echo Fetching vcpkg in %cwd%vcpkg
40
	git.exe clone https://github.com/Microsoft/vcpkg vcpkg
41
	IF ERRORLEVEL 1 ( EXIT /B 1 )
42

43
	cd vcpkg
44
	echo Building vcpkg
45
	powershell -exec bypass scripts\bootstrap.ps1
46
	IF ERRORLEVEL 1 ( EXIT /B 1 )
47

48
	echo Successfully installed %cwd%vcpkg\vcpkg.exe
49

50
:install_libraries
51
	SET arch=x64-windows
52

53
	echo Installing third-party libraries...
54
	FOR %%i IN (zlib expat libiconv openssl libssh2 curl) DO (
55
	    cd %cwd%vcpkg
56
	    IF NOT EXIST "packages\%%i_%arch%" CALL :sub__install_one %%i
57
	    IF ERRORLEVEL 1 ( EXIT /B 1 )
58
	)
59

60
:install_defines
61
	cd %cwd%
62
	SET inst=%cwd%vcpkg\installed\%arch%
63

64
	echo vcpkg_inc=-I"%inst%\include">VCPKG-DEFS
65
	echo vcpkg_rel_lib=-L"%inst%\lib">>VCPKG-DEFS
66
	echo vcpkg_rel_bin="%inst%\bin">>VCPKG-DEFS
67
	echo vcpkg_dbg_lib=-L"%inst%\debug\lib">>VCPKG-DEFS
68
	echo vcpkg_dbg_bin="%inst%\debug\bin">>VCPKG-DEFS
69

70
	EXIT /B 0
71

72

73
:sub__install_one
74
	echo     Installing package %1...
75

76
	.\vcpkg.exe install %1:%arch%
77
	IF ERRORLEVEL 1 ( EXIT /B 1 )
78

79
	echo     Finished %1
80
	goto :EOF
81

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.