forked from mpromonet/webrtc-streamer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile.windows
44 lines (36 loc) · 2.05 KB
/
Dockerfile.windows
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
# build
FROM mcr.microsoft.com/windows/servercore:ltsc2019 as builder
LABEL [email protected]
WORKDIR /webrtc-streamer
COPY . /webrtc-streamer
ENV DEPOT_TOOLS_WIN_TOOLCHAIN=0 \
CLANG_VERSION=ToT \
PYTHONIOENCODING=UTF-8 \
GYP_MSVS_OVERRIDE_PATH=C:\\BuildTools
# Install Chocolatey & packages
RUN powershell.exe -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SETX PATH "%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
RUN choco install -y git python2 sed curl \
&& choco install -y cmake --installargs 'ADD_CMAKE_TO_PATH=User' \
&& choco install -y visualstudio2017buildtools --package-parameters "--add Microsoft.VisualStudio.Workload.VCTools --installPath %GYP_MSVS_OVERRIDE_PATH%" || IF "%ERRORLEVEL%"=="3010" EXIT 0
# install WebRTC
RUN git config --global core.autocrlf false \
&& git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git --depth 1 C:\depot_tools \
&& SETX PATH "%PATH%;C:\depot_tools"
# workaround bootstraping that delete the cipd.ps1 file
RUN powershell -NoProfile -ExecutionPolicy RemoteSigned -Command C:\depot_tools\cipd.ps1 -CipdBinary C:\depot_tools\.cipd_client.exe -BackendURL https://chrome-infra-packages.appspot.com -VersionFile C:\depot_tools\cipd_client_version
RUN mkdir c:\webrtc && cd c:\webrtc \
&& time /t \
&& fetch --no-history --nohooks webrtc \
&& time /t \
&& sed -i -e "s|'src/resources'],|'src/resources'],'condition':'rtc_include_tests==true',|" src/DEPS \
&& time /t
RUN call "C:\BuildTools\VC\Auxiliary\Build\vcvars64.bat" \
&& gclient sync \
&& time /t \
&& SETX PATH "%PATH%;C:\webrtc\src\third_party\llvm-build\Release+Asserts\bin" \
&& time /t
# build
RUN time /t && cmake -G Ninja -DCMAKE_C_COMPILER=clang-cl.exe -DCMAKE_CXX_COMPILER=clang-cl.exe . && ninja && cpack
EXPOSE 8000
ENTRYPOINT [ "webrtc-streamer.exe" ]
CMD [ "-a", "-C", "config.json", "screen://" ]