aboutsummaryrefslogtreecommitdiffstats
path: root/docker/windowsservercore/Dockerfile
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2019-06-07 11:07:35 +0200
committerJoerg Bornemann <joerg.bornemann@qt.io>2019-10-11 11:10:08 +0000
commite36f73945c6f8e374b931cc33f2708e696797d1b (patch)
treefbce80be575383a8afb4f8a441d519afb322b716 /docker/windowsservercore/Dockerfile
parent8a807533ae6b2cccb022ecc6cf436ac2f6a7339f (diff)
Update windowsservercore/Dockerfile
- Update qbs to 1.12.1 - Update Qt to 5.12.5 We're not using the installer anymore, because a) the unattended-install-hack doesn't work for newer Qt installers b) newer installers do not provide VS 2015 builds. c) it allows us to tailor the Qt build to our needs in the future. We're not building the documentation on Windows anymore due to the genius move to require libclang for qdoc. That means we need additional twiddling with the packages to add documentation that was built on an usable OS. Task-number: QBS-1438 Change-Id: I77a487562c2f5edd69b8b8a10ef3410ab599dc92 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'docker/windowsservercore/Dockerfile')
-rw-r--r--docker/windowsservercore/Dockerfile54
1 files changed, 35 insertions, 19 deletions
diff --git a/docker/windowsservercore/Dockerfile b/docker/windowsservercore/Dockerfile
index 61a363761..43cf93736 100644
--- a/docker/windowsservercore/Dockerfile
+++ b/docker/windowsservercore/Dockerfile
@@ -1,33 +1,49 @@
-FROM microsoft/windowsservercore:10.0.14393.1884
-LABEL Description="Windows Server Core development environment for Qbs with Qt 5.9, Chocolatey and various dependencies for testing Qbs modules and functionality"
+FROM microsoft/windowsservercore:10.0.14393.1884 as build-env
+LABEL Description="Windows Server Core development environment for Qbs with Qt, Chocolatey and various dependencies for testing Qbs modules and functionality"
# Disable crash dialog for release-mode runtimes
RUN reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting" /v Disabled /t REG_DWORD /d 1 /f
RUN reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting" /v DontShowUI /t REG_DWORD /d 1 /f
-COPY qtifwsilent.qs C:\qtifwsilent.qs
-RUN powershell -NoProfile -ExecutionPolicy Bypass -Command \
- $ErrorActionPreference = 'Stop'; \
- $Wc = New-Object System.Net.WebClient ; \
- $Wc.DownloadFile('https://download.qt.io/official_releases/qt/5.9/5.9.3/qt-opensource-windows-x86-5.9.3.exe', 'C:\qt.exe') ; \
- Echo 'Downloaded qt-opensource-windows-x86-5.9.3.exe' ; \
- $Env:QT_INSTALL_DIR = 'C:\\Qt' ; \
- Start-Process C:\qt.exe -ArgumentList '--verbose --script C:/qtifwsilent.qs' -NoNewWindow -Wait ; \
- Remove-Item C:\qt.exe -Force ; \
- Remove-Item C:\qtifwsilent.qs -Force
-ENV QTDIR C:\\Qt\\5.9.3\\msvc2015
-ENV QTDIR64 C:\\Qt\\5.9.3\\msvc2015_64
-RUN dir "%QTDIR%" && dir "%QTDIR64%" && dir "%QTDIR%\bin\Qt5Script.dll" && dir "%QTDIR64%\bin\Qt5Script.dll"
-
RUN @powershell -NoProfile -ExecutionPolicy Bypass -Command \
$Env:chocolateyVersion = '0.10.8' ; \
$Env:chocolateyUseWindowsCompression = 'false' ; \
"iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
RUN choco install -y python2 --version 2.7.14 && refreshenv && python --version && pip --version
-RUN choco install -y qbs --version 1.9.1 && qbs --version
-RUN choco install -y unzip --version 6.0 && unzip -v
+RUN choco install -y vcredist140
+RUN choco install -y qbs --version 1.12.1 && qbs --version
RUN choco install -y visualcpp-build-tools --version 14.0.25420.1 && dir "%PROGRAMFILES(X86)%\Microsoft Visual C++ Build Tools"
-RUN choco install -y zip --version 3.0 && zip -v
+RUN choco install -y unzip --version 6.0
+RUN choco install -y zip --version 3.0
+
+
+FROM build-env as qt-build-env
+LABEL Description="Environment for Building Qt"
+RUN choco install -y jom --version 1.1.2 && jom /version
+
+# Download and extract Qt source archives
+WORKDIR C:/
+RUN md src
+WORKDIR src
+COPY build-qt.bat .
+ADD http://download.qt.io/official_releases/qt/5.12/5.12.5/submodules/qtbase-everywhere-src-5.12.5.zip qtbase.zip
+ADD http://download.qt.io/official_releases/qt/5.12/5.12.5/submodules/qtscript-everywhere-src-5.12.5.zip qtscript.zip
+ADD http://download.qt.io/official_releases/qt/5.12/5.12.5/submodules/qttools-everywhere-src-5.12.5.zip qttools.zip
+RUN unzip qtbase.zip
+RUN unzip qtscript.zip
+RUN unzip qttools.zip
+RUN rename qtbase-everywhere-src-5.12.5 qtbase
+RUN rename qtscript-everywhere-src-5.12.5 qtscript
+RUN rename qttools-everywhere-src-5.12.5 qttools
+RUN build-qt.bat x86
+RUN build-qt.bat x64
+
+
+FROM build-env as qbs-build-env
+WORKDIR C:/
+COPY --from=qt-build-env C:/Qt C:/Qt/
+ENV QTDIR C:\\Qt\\x86
+ENV QTDIR64 C:\\Qt\\x64
# for building the documentation
RUN pip install beautifulsoup4 lxml