forked from WireGuard/wireguard-nt
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathbuild.bat
86 lines (55 loc) · 1.89 KB
/
build.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
@echo off
if [%VisualStudioVersion%]==[] (
echo Please launch this build script from a Visual Studio command prompt
exit /b 1
)
if [%1]==[] goto USAGE
set CERT_THUMBPRINT=%1
set TIMESTAMP_SERVER=http://timestamp.digicert.com
set OUT_DIR_ARCH=%VSCMD_ARG_TGT_ARCH%
if "%OUT_DIR_ARCH%"=="x64" (
set OUT_DIR_ARCH=amd64
)
set INF2CAT_OS=10_%VSCMD_ARG_TGT_ARCH%
if "%VSCMD_ARG_TGT_ARCH%"=="arm64" (
set INF2CAT_OS=10_VB_%VSCMD_ARG_TGT_ARCH%
)
set ROOT=%~dp0
rmdir /s /q %ROOT%Release
msbuild.exe %ROOT%driver\driver.vcxproj /p:Configuration=Release /p:Platform=%VSCMD_ARG_TGT_ARCH% /p:SignMode=Off
IF %ERRORLEVEL% NEQ 0 goto ERROR
:: Sign driver
signtool sign /tr %TIMESTAMP_SERVER% /td sha256 /fd sha256 /sha1 "%1" /v %ROOT%Release\%OUT_DIR_ARCH%\driver\mullvad-wireguard.sys
IF %ERRORLEVEL% NEQ 0 goto ERROR
:: Re-generate catalog file now that driver binary has changed
del %ROOT%Release\%OUT_DIR_ARCH%\driver\mullvad-wireguard.cat
"%WindowsSdkVerBinPath%x86\inf2cat.exe" /driver:"%ROOT%Release\%OUT_DIR_ARCH%\driver" /os:"%INF2CAT_OS%" /verbose
IF %ERRORLEVEL% NEQ 0 goto ERROR
:: Sign catalog
signtool sign /tr %TIMESTAMP_SERVER% /td sha256 /fd sha256 /sha1 "%1" /v %ROOT%Release\%OUT_DIR_ARCH%\driver\mullvad-wireguard.cat
IF %ERRORLEVEL% NEQ 0 goto ERROR
:: Copy artifacts
rmdir /s /q %ROOT%bin\dist
mkdir %ROOT%bin\dist
copy /b %ROOT%Release\%OUT_DIR_ARCH%\driver\* %ROOT%bin\dist\
::
:: Build a CAB file for submission to the MS Hardware Dev Center
::
pushd %ROOT%bin\dist\win10
makecab /f "%ROOT%mullvad-wireguard.ddf"
popd
IF %ERRORLEVEL% NEQ 0 goto ERROR
signtool sign /tr %TIMESTAMP_SERVER% /td sha256 /fd sha256 /sha1 "%1" /v %ROOT%bin\dist\win10\mullvad-wireguard.cab
IF %ERRORLEVEL% NEQ 0 goto ERROR
echo;
echo BUILD COMPLETED SUCCESSFULLY
echo;
exit /b 0
:USAGE
echo Usage: %0 ^<cert_sha1_hash^> ^<cert_root_ca_path^>
exit /b 1
:ERROR
echo;
echo !!! BUILD FAILED !!!
echo;
exit /b 1