1
1
@ echo off
2
2
3
3
if not exist depot_tools (
4
- git clone --depth 1 https://chromium.googlesource.com/chromium/tools/depot_tools.git
4
+ git clone --depth 1 https://chromium.googlesource.com/chromium/tools/depot_tools.git
5
5
)
6
6
7
+ set COMMAND_DIR = %~dp0
7
8
set PATH = %cd% \depot_tools;%PATH%
8
- set WEBRTC_VERSION = 4147
9
+ set WEBRTC_VERSION = 4183
9
10
set DEPOT_TOOLS_WIN_TOOLCHAIN = 0
10
11
set CPPFLAGS = /WX-
11
12
set GYP_GENERATORS = ninja,msvs-ninja
12
13
set GYP_MSVS_VERSION = 2017
13
14
set OUTPUT_DIR = out
14
15
set ARTIFACTS_DIR = %cd% \artifacts
16
+ set PYPI_URL = https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple
15
17
set vs2017_install = C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools
16
18
17
- cmd /k fetch.bat webrtc
19
+ if not exist src (
20
+ call fetch.bat webrtc
21
+ cd src
22
+ call git.bat config --system core.longpaths true
23
+ call git.bat checkout refs/remotes/branch-heads/%WEBRTC_VERSION%
24
+ cd ..
25
+ call gclient.bat sync -f
26
+ )
18
27
19
- cd src
20
- cmd /k git.bat config --system core.longpaths true
21
- cmd /k git.bat checkout refs/remotes/branch-heads/%WEBRTC_VERSION%
22
- cd ..
28
+ rem add jsoncpp
29
+ patch -N " src\BUILD.gn" < " %COMMAND_DIR% \patches\add_jsoncpp.patch"
23
30
24
- cmd /k gclient.bat sync -f
31
+ rem install pywin32
32
+ call " %cd% \depot_tools\bootstrap-3_8_0_chromium_8_bin\python\bin\python.exe" ^
33
+ -m pip install pywin32 --index-url " %PYPI_URL% " --upgrade
25
34
26
- REM add jsoncpp
27
- patch " src\BUILD.gn" < " BuildScripts~\add_jsoncpp.patch"
35
+ rem generate ninja for release
36
+ call gn.bat gen %OUTPUT_DIR% --root=" src" ^
37
+ --args=" is_debug=false is_clang=false target_cpu=\" x64\" rtc_include_tests=false rtc_build_examples=false rtc_use_h264=false symbol_level=0 enable_iterator_debugging=false"
28
38
29
- REM install pywin32
30
- cmd /k %cd% \depot_tools\bootstrap-3_8_0_chromium_8_bin\python\bin\python .exe -m pip install pywin32 --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade
39
+ rem build
40
+ ninja .exe -C %OUTPUT_DIR%
31
41
32
- cmd /k gn.bat gen %OUTPUT_DIR% --root= " src " --args= " is_debug=false is_clang=false target_cpu=\ " x64\ " rtc_include_tests=false rtc_build_examples=false rtc_use_h264=false symbol_level=0 enable_iterator_debugging=false "
42
+ mkdir " %ARTIFACTS_DIR% \lib "
33
43
34
- REM add json.obj in link list of webrtc.ninja
35
- powershell -File " .\BuildScripts~\ReplaceText.ps1" " %OUTPUT_DIR% \obj\webrtc.ninja" " obj/rtc_base/rtc_base/crc32.obj" " obj/rtc_base/rtc_base/crc32.obj obj/rtc_base/rtc_json/json.obj"
36
- type " %OUTPUT_DIR% \obj\webrtc.ninja"
44
+ rem copy static library for release build
45
+ copy " %OUTPUT_DIR% \obj\webrtc.lib" " %ARTIFACTS_DIR% \lib\webrtc.lib"
37
46
38
- REM update LIB_TO_LICENSES_DICT in generate_licenses.py
39
- powershell -File " .\BuildScripts~\ReplaceText.ps1 " " src\tools_webrtc\libs\generate_licenses.py " " 'ow2_asm': [], " " 'ow2_asm': [], 'winsdk_samples': [], 'googletest': ['third_party/googletest/ src/LICENSE'], 'nasm': ['third_party/nasm/LICENSE'], "
40
- type " src\tools_webrtc\libs\generate_licenses.py "
47
+ rem generate ninja for debug build
48
+ call gn.bat gen %OUTPUT_DIR% --root= " src" ^
49
+ --args= " is_debug=true is_clang=false target_cpu=\ " x64\ " rtc_include_tests=false rtc_build_examples=false rtc_use_h264=false symbol_level=0 enable_iterator_debugging=false "
41
50
51
+ rem build
42
52
ninja.exe -C %OUTPUT_DIR%
43
53
44
- REM generate license
45
- call python.bat .\src\tools_webrtc\libs\generate_licenses.py --target //:default %OUTPUT_DIR% %OUTPUT_DIR%
54
+ rem copy static library for debug build
55
+ copy " %OUTPUT_DIR% \obj\webrtc.lib" " %ARTIFACTS_DIR% \lib\webrtcd.lib"
56
+
57
+ rem fix error when generate license
58
+ patch -N " %cd% \src\tools_webrtc\libs\generate_licenses.py" < ^
59
+ " %COMMAND_DIR% \patches\generate_licenses.patch"
46
60
47
- REM unescape license
48
- powershell -File .\Unescape.ps1 %OUTPUT_DIR% \LICENSE.md
61
+ rem generate license
62
+ call python.bat " %cd% \src\tools_webrtc\libs\generate_licenses.py" ^
63
+ --target //:default %OUTPUT_DIR% %OUTPUT_DIR%
49
64
50
- REM copy header
51
- xcopy src\*.h %ARTIFACTS_DIR% \include /C /S /I /F /H
65
+ rem unescape license
66
+ powershell -File " %COMMAND_DIR% \Unescape.ps1 " " %OUTPUT_DIR% \LICENSE.md "
52
67
53
- REM copy lib
54
- mkdir %ARTIFACTS_DIR% \lib
55
- for %%G in (webrtc.lib audio_decoder_opus.lib webrtc_opus.lib) do forfiles /P " %cd% \%OUTPUT_DIR% " /S /M %%G /C " cmd /c copy @path %ARTIFACTS_DIR% \lib"
68
+ rem copy header
69
+ xcopy src\*.h " %ARTIFACTS_DIR% \include" /C /S /I /F /H
56
70
57
- REM copy license
58
- copy %OUTPUT_DIR% \LICENSE.md %ARTIFACTS_DIR%
71
+ rem copy license
72
+ copy " %OUTPUT_DIR% \LICENSE.md" " %ARTIFACTS_DIR% "
59
73
60
- REM create zip
74
+ rem create zip
61
75
cd %ARTIFACTS_DIR%
62
76
7z a -tzip webrtc-win.zip *
0 commit comments