add PowerShell script for build environment setup

This originally lived in the `infra-ci` repo but I think it makes more
sense to if to be in this repo, since here it can be changed by devs as
the project evolves.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
Jakub Sokołowski 2020-10-02 19:01:54 +02:00 committed by Jakub
parent cdcb928a0c
commit d882bde5aa
2 changed files with 64 additions and 0 deletions

View File

@ -2,6 +2,8 @@
### 0. Prerequesites
On windows you can simply run the [`scripts/windows_build_setup.ps1`](../scripts/windows_build_setup.ps1) script in a PowerShell with Administrator privileges.
* QT
Linux users should install Qt through the system's package manager:

View File

@ -0,0 +1,62 @@
#---------------------------------------------------------------------
# Configures a build envrionment for nim-status-client on windows.
#---------------------------------------------------------------------
# Stop the script after first error
$ErrorActionPreference = 'Stop'
#---------------------------------------------------------------------
Write-Host "Installing Scoop package manager..."
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
#---------------------------------------------------------------------
# Install Git and other dependencies
Write-Host "Installing dependencies..."
scoop install --global 7zip git fzf dos2unix findutils wget gcc go rcedit cmake python ntop jq
scoop bucket add extras
scoop install --global vcredist2017
#---------------------------------------------------------------------
$QtVersion = "5.14.2"
Write-Host "Installing Qt $QtVersion SDK..."
# Install Qt
pip install aqtinstall
aqt install --output "C:\Qt" $QtVersion windows desktop win64_msvc2017_64
#---------------------------------------------------------------------
# Install Microsoft Visual C++ Build Tools 15.8.9
$VCBuildToolsUrl = "https://download.visualstudio.microsoft.com/download/pr/e286f66e-4366-425f-bcc5-c88627c6e95a/0401d4decb00884a7d50f69732e1d680/vs_buildtools.exe"
$VCBuildToolsExe = "$HOME\Downloads\vs_BuildTools.exe"
Write-Host "Downloading Microsoft Visual C++ Build Tools..."
(New-Object System.Net.WebClient).DownloadFile($VCBuildToolsUrl, $VCBuildToolsExe)
Write-Host "Installing Microsoft Visual C++ Build Tools..."
$VCBuildToolsArgs = $(
"--installPath", "C:\BuildTools",
"--quiet", "--wait", "--norestart", "--nocache",
"--add", "Microsoft.VisualStudio.Workload.MSBuildTools",
"--add", "Microsoft.VisualStudio.Workload.VCTools",
"--add", "Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
"--add", "Microsoft.VisualStudio.Component.VC.Redist.14.Latest",
"--add", "Microsoft.VisualStudio.Component.Windows10SDK.14393",
"--add", "Microsoft.VisualStudio.Component.Windows81SDK",
"--add", "Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Win81"
)
Start-Process -Wait -PassThru -FilePath $VCBuildToolsExe -ArgumentList $VCBuildToolsArgs
#---------------------------------------------------------------------
Write-Host @"
SUCCESS!
Before you attempt to build nim-status-client you'll need a few environment variables set:
export QTDIR="/c/Qt/$QtVersion/msvc2017_64"
export Qt5_DIR="/c/Qt/$QtVersion/msvc2017_64"
export VCINSTALLDIR="/c/BuildTools/VC"
You might also have to include the following paths in your `$PATH:
export PATH=`"/c/BuildTools/MSBuild/Current/Bin:/c/BuildTools/VC/Tools/MSVC/14.27.29110/bin:`$PATH`"
"@