From c82719b71045843a5d17ddd0e260f28dc6fade21 Mon Sep 17 00:00:00 2001
From: Volker Hilsheimer <volker.hilsheimer@qt.io>
Date: Sat, 13 Jul 2019 20:33:30 +0200
Subject: [PATCH] Role for MSVC 2019

---
 .../roles/msvc2019/env_helpers/build_qt5.bat  |  7 +++++
 .../roles/msvc2019/env_helpers/clone_qt5.bat  | 10 ++++++
 .../roles/msvc2019/env_helpers/qt_paths.bat   | 17 ++++++++++
 minicoin/roles/msvc2019/provision.ps1         | 31 +++++++++++++++++++
 4 files changed, 65 insertions(+)
 create mode 100644 minicoin/roles/msvc2019/env_helpers/build_qt5.bat
 create mode 100644 minicoin/roles/msvc2019/env_helpers/clone_qt5.bat
 create mode 100644 minicoin/roles/msvc2019/env_helpers/qt_paths.bat
 create mode 100644 minicoin/roles/msvc2019/provision.ps1

diff --git a/minicoin/roles/msvc2019/env_helpers/build_qt5.bat b/minicoin/roles/msvc2019/env_helpers/build_qt5.bat
new file mode 100644
index 0000000..e174180
--- /dev/null
+++ b/minicoin/roles/msvc2019/env_helpers/build_qt5.bat
@@ -0,0 +1,7 @@
+@echo off
+
+cd c:\dev
+mkdir qt5-build
+cd qt5-build
+call ..\qt5\configure -confirm-license -opensource -developer-build -nomake examples -nomake tests -debug
+cmd /k jom module-qtbase
diff --git a/minicoin/roles/msvc2019/env_helpers/clone_qt5.bat b/minicoin/roles/msvc2019/env_helpers/clone_qt5.bat
new file mode 100644
index 0000000..29e6850
--- /dev/null
+++ b/minicoin/roles/msvc2019/env_helpers/clone_qt5.bat
@@ -0,0 +1,10 @@
+@echo off
+mkdir \dev
+cd \dev
+git clone git://code.qt.io/qt/qt5
+cd qt5
+
+REM add your codereview user name below:
+REM perl init-repository --codereview-username YOURNAME
+perl init-repository --module-subset=default,-qtwebkit,-qtwebkit-examples,-qtwebengine,-qt3d
+REM git submodule foreach "git fetch; git checkout dev; echo done"
diff --git a/minicoin/roles/msvc2019/env_helpers/qt_paths.bat b/minicoin/roles/msvc2019/env_helpers/qt_paths.bat
new file mode 100644
index 0000000..be8c9a7
--- /dev/null
+++ b/minicoin/roles/msvc2019/env_helpers/qt_paths.bat
@@ -0,0 +1,17 @@
+@echo off
+SET _ROOT=C:\dev\qt5-build
+cd %_ROOT%
+
+SET PATH=%_ROOT%\qtbase\bin;%PATH%
+
+SET PATH=%_ROOT%\qtrepotools\bin;%_ROOT%\gnuwin32\bin;%PATH%
+
+REM Uncomment the below line when building with OpenSSL enabled. If so, make sure the directory points
+REM to the correct location (binaries for OpenSSL).
+REM SET PATH=C:\OpenSSL-Win32\bin;%PATH%
+
+REM When compiling with ICU, uncomment the lines below and change <icupath> appropriately:
+REM Note that -I <icupath>\include and -L <icupath>\lib need to be passed to
+REM configure separately (that works for MSVC as well).
+REM SET PATH=<icupath>\lib;%PATH%
+SET _ROOT=
diff --git a/minicoin/roles/msvc2019/provision.ps1 b/minicoin/roles/msvc2019/provision.ps1
new file mode 100644
index 0000000..c681f89
--- /dev/null
+++ b/minicoin/roles/msvc2019/provision.ps1
@@ -0,0 +1,31 @@
+$packages = ( "visualstudio2019buildtools",
+              "visualstudio2019-workload-vctools")
+
+cd "$($env:SystemDrive)\ProgramData\Chocolatey\bin"
+
+.\chocolatey feature enable -n=allowGlobalConfirmation
+ForEach ( $p in $packages ) { .\choco install --no-progress -y $p }
+
+.\chocolatey feature disable -n=allowGlobalConfirmation
+
+write-host "Updating PATH"
+refreshenv
+
+function Invoke-CmdScript {
+    param(
+      [String] $scriptName
+    )
+    $cmdLine = """$scriptName"" $args & set"
+    & $Env:SystemRoot\system32\cmd.exe /c $cmdLine |
+      Select-String '^([^=]*)=(.*)$' | ForEach-Object {
+        $varName = $_.Matches[0].Groups[1].Value
+        $varValue = $_.Matches[0].Groups[2].Value
+        Set-Item env:$varName -Value $varValue
+      }
+  }
+
+Invoke-CmdScript "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
+
+[Environment]::SetEnvironmentVariable("Path", $env:Path, [System.EnvironmentVariableTarget]::User)
+[Environment]::SetEnvironmentVariable("INCLUDE", $env:INCLUDE, [System.EnvironmentVariableTarget]::User)
+[Environment]::SetEnvironmentVariable("LIB", $env:LIB, [System.EnvironmentVariableTarget]::User)
-- 
GitLab