aboutsummaryrefslogtreecommitdiffstats
path: root/.ci/docker/uhd-builder-vs2017-v141-x64.Dockerfile
diff options
context:
space:
mode:
authorSteven Koo <steven.koo@ni.com>2021-03-09 13:25:11 -0600
committerAaron Rossetto <aaron.rossetto@ni.com>2021-03-12 16:24:09 -0600
commit19f3c1203a42d9da3d7cb16c881fe2bbdc5ec0ce (patch)
treebf1fc2a64dbf5ee8af9df273f2b3799ac0a03817 /.ci/docker/uhd-builder-vs2017-v141-x64.Dockerfile
parent71f48df77e6f1666cb790200735b4400be1656f4 (diff)
downloaduhd-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.Dockerfile42
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
+