diff options
author | Steven Koo <steven.koo@ni.com> | 2021-03-09 13:25:11 -0600 |
---|---|---|
committer | Aaron Rossetto <aaron.rossetto@ni.com> | 2021-03-12 16:24:09 -0600 |
commit | 19f3c1203a42d9da3d7cb16c881fe2bbdc5ec0ce (patch) | |
tree | bf1fc2a64dbf5ee8af9df273f2b3799ac0a03817 /.ci/docker/uhd-builder-vs2017-v141-x64.Dockerfile | |
parent | 71f48df77e6f1666cb790200735b4400be1656f4 (diff) | |
download | uhd-19f3c1203a42d9da3d7cb16c881fe2bbdc5ec0ce.tar.gz uhd-19f3c1203a42d9da3d7cb16c881fe2bbdc5ec0ce.tar.bz2 uhd-19f3c1203a42d9da3d7cb16c881fe2bbdc5ec0ce.zip |
ci: Linux and Windows uhd build docker images
This commit adds Pipeline support for building uhd toolchain docker
images. The Dockerfiles specify the required dependencies to build uhd.
These can then be used in downstream pipelines to build uhd. It's also
possible to use the Dockerfiles using "docker build" and "docker run"
to locally create the toolchain to build uhd.
Signed-off-by: Steven Koo <steven.koo@ni.com>
Diffstat (limited to '.ci/docker/uhd-builder-vs2017-v141-x64.Dockerfile')
-rw-r--r-- | .ci/docker/uhd-builder-vs2017-v141-x64.Dockerfile | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/.ci/docker/uhd-builder-vs2017-v141-x64.Dockerfile b/.ci/docker/uhd-builder-vs2017-v141-x64.Dockerfile new file mode 100644 index 000000000..d608ef4c4 --- /dev/null +++ b/.ci/docker/uhd-builder-vs2017-v141-x64.Dockerfile @@ -0,0 +1,42 @@ +# please follow docker best practices
+# https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/
+
+# This uses Window Server 2019 since it supports container jobs.
+# This must match the Windows Server version that the Pipelines
+# agent runs on. It's possible to switch out the base image
+# with a Windows 10 image for local builds.
+FROM mcr.microsoft.com/windows/servercore:1809
+LABEL maintainer="Ettus Research"
+
+RUN @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" \
+ -NoProfile -InputFormat None -ExecutionPolicy Bypass \
+ -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; \
+ iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && \
+ SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
+RUN choco install -y cmake.install --installargs 'ADD_CMAKE_TO_PATH=System' --version=3.19.6
+RUN choco install -y doxygen.install --version=1.9.1
+RUN choco install -y git
+RUN choco install -y NSIS --version=3.06.1
+RUN choco install -y vim
+RUN choco install -y python3 --version=3.7.9
+RUN pip install mako requests numpy ruamel.yaml
+
+RUN powershell -NoProfile -ExecutionPolicy Bypass -Command \
+ Invoke-WebRequest "https://aka.ms/vs/15/release/vs_community.exe" \
+ -OutFile "%TEMP%\vs_community.exe" -UseBasicParsing
+RUN "%TEMP%\vs_community.exe" --quiet --wait --norestart --noUpdateInstaller \
+ --add Microsoft.VisualStudio.Workload.NativeDesktop \
+ --add Microsoft.VisualStudio.Component.Windows81SDK \
+ --includeRecommended
+
+RUN setx VCPKG_INSTALL_DIR "c:\\vcpkg" /m
+RUN git clone https://github.com/microsoft/vcpkg %VCPKG_INSTALL_DIR% && \
+ cd %VCPKG_INSTALL_DIR% && \
+ # The vcpkg git commit sets the toolchain dependenices
+ # This commit uses Boost 1.75 and libusb 1.0.24
+ git checkout 3426db05b996481ca31e95fff3734cf23e0f51bc && \
+ bootstrap-vcpkg.bat
+RUN cd %VCPKG_INSTALL_DIR% && vcpkg install --clean-after-build \
+ libusb:x64-windows \
+ boost:x64-windows
+
|