aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2018-05-19 17:54:12 -0700
committerAlexander Karatarakis <alkarata@microsoft.com>2018-05-19 19:23:32 -0700
commit555fa8d7cc25f409fea9626383dfc38c5d5db6b4 (patch)
tree2ab55a2880cbc035f1d5f0499abbff4e10f71f1f /scripts
parent9e4196d49524d41959e84f27b4080a0ec2cb37e6 (diff)
downloadvcpkg-555fa8d7cc25f409fea9626383dfc38c5d5db6b4.tar.gz
vcpkg-555fa8d7cc25f409fea9626383dfc38c5d5db6b4.zip
Merge getVisualStudioInstances into bootstrap.ps1
Diffstat (limited to 'scripts')
-rw-r--r--scripts/bootstrap.ps172
-rw-r--r--scripts/getVisualStudioInstances.ps177
2 files changed, 71 insertions, 78 deletions
diff --git a/scripts/bootstrap.ps1 b/scripts/bootstrap.ps1
index 970fa0488..a2d9103dd 100644
--- a/scripts/bootstrap.ps1
+++ b/scripts/bootstrap.ps1
@@ -26,9 +26,79 @@ if (!(Test-Path $vcpkgSourcesPath))
return
}
+function getVisualStudioInstances()
+{
+ $programFiles = getProgramFiles32bit
+ $results = New-Object System.Collections.ArrayList
+ $vswhereExe = "$programFiles\Microsoft Visual Studio\Installer\vswhere.exe"
+ if (Test-Path $vswhereExe)
+ {
+ $output = & $vswhereExe -prerelease -legacy -products * -format xml
+ [xml]$asXml = $output
+
+ foreach ($instance in $asXml.instances.instance)
+ {
+ $installationPath = $instance.InstallationPath -replace "\\$" # Remove potential trailing backslash
+ $installationVersion = $instance.InstallationVersion
+
+ $isPrerelease = -7
+ if (vcpkgHasProperty -object $instance -propertyName "isPrerelease")
+ {
+ $isPrerelease = $instance.isPrerelease
+ }
+
+ if ($isPrerelease -eq 0)
+ {
+ $releaseType = "PreferenceWeight3::StableRelease"
+ }
+ elseif ($isPrerelease -eq 1)
+ {
+ $releaseType = "PreferenceWeight2::PreRelease"
+ }
+ else
+ {
+ $releaseType = "PreferenceWeight1::Legacy"
+ }
+
+ # Placed like that for easy sorting according to preference
+ $results.Add("<sol>::${releaseType}::${installationVersion}::${installationPath}::<eol>") > $null
+ }
+ }
+ else
+ {
+ Write-Verbose "Could not locate vswhere at $vswhereExe"
+ }
+
+ if ("$env:vs140comntools" -ne "")
+ {
+ $installationPath = Split-Path -Parent $(Split-Path -Parent "$env:vs140comntools")
+ $clExe = "$installationPath\VC\bin\cl.exe"
+ $vcvarsallbat = "$installationPath\VC\vcvarsall.bat"
+
+ if ((Test-Path $clExe) -And (Test-Path $vcvarsallbat))
+ {
+ $results.Add("<sol>::PreferenceWeight1::Legacy::14.0::$installationPath::<eol>") > $null
+ }
+ }
+
+ $installationPath = "$programFiles\Microsoft Visual Studio 14.0"
+ $clExe = "$installationPath\VC\bin\cl.exe"
+ $vcvarsallbat = "$installationPath\VC\vcvarsall.bat"
+
+ if ((Test-Path $clExe) -And (Test-Path $vcvarsallbat))
+ {
+ $results.Add("<sol>::PreferenceWeight1::Legacy::14.0::$installationPath::<eol>") > $null
+ }
+
+ $results.Sort()
+ $results.Reverse()
+
+ return $results
+}
+
function findAnyMSBuildWithCppPlatformToolset([string]$withVSPath)
{
- $VisualStudioInstances = & $scriptsDir\getVisualStudioInstances.ps1
+ $VisualStudioInstances = getVisualStudioInstances
if ($VisualStudioInstances -eq $null)
{
throw "Could not find Visual Studio. VS2015 or VS2017 (with C++) needs to be installed."
diff --git a/scripts/getVisualStudioInstances.ps1 b/scripts/getVisualStudioInstances.ps1
deleted file mode 100644
index 910d0f98b..000000000
--- a/scripts/getVisualStudioInstances.ps1
+++ /dev/null
@@ -1,77 +0,0 @@
-[CmdletBinding()]
-param(
-
-)
-Set-StrictMode -Version Latest
-$scriptsDir = split-path -parent $script:MyInvocation.MyCommand.Definition
-. "$scriptsDir\VcpkgPowershellUtils.ps1"
-
-$programFiles = getProgramFiles32bit
-
-$results = New-Object System.Collections.ArrayList
-
-$vswhereExe = "$programFiles\Microsoft Visual Studio\Installer\vswhere.exe"
-
-if (Test-Path $vswhereExe)
-{
- $output = & $vswhereExe -prerelease -legacy -products * -format xml
- [xml]$asXml = $output
-
- foreach ($instance in $asXml.instances.instance)
- {
- $installationPath = $instance.InstallationPath -replace "\\$" # Remove potential trailing backslash
- $installationVersion = $instance.InstallationVersion
-
- $isPrerelease = -7
- if (vcpkgHasProperty -object $instance -propertyName "isPrerelease")
- {
- $isPrerelease = $instance.isPrerelease
- }
-
- if ($isPrerelease -eq 0)
- {
- $releaseType = "PreferenceWeight3::StableRelease"
- }
- elseif ($isPrerelease -eq 1)
- {
- $releaseType = "PreferenceWeight2::PreRelease"
- }
- else
- {
- $releaseType = "PreferenceWeight1::Legacy"
- }
-
- # Placed like that for easy sorting according to preference
- $results.Add("<sol>::${releaseType}::${installationVersion}::${installationPath}::<eol>") > $null
- }
-}
-else
-{
- Write-Verbose "Could not locate vswhere at $vswhereExe"
-}
-
-if ("$env:vs140comntools" -ne "")
-{
- $installationPath = Split-Path -Parent $(Split-Path -Parent "$env:vs140comntools")
- $clExe = "$installationPath\VC\bin\cl.exe"
- $vcvarsallbat = "$installationPath\VC\vcvarsall.bat"
-
- if ((Test-Path $clExe) -And (Test-Path $vcvarsallbat))
- {
- $results.Add("<sol>::PreferenceWeight1::Legacy::14.0::$installationPath::<eol>") > $null
- }
-}
-
-$installationPath = "$programFiles\Microsoft Visual Studio 14.0"
-$clExe = "$installationPath\VC\bin\cl.exe"
-$vcvarsallbat = "$installationPath\VC\vcvarsall.bat"
-
-if ((Test-Path $clExe) -And (Test-Path $vcvarsallbat))
-{
- $results.Add("<sol>::PreferenceWeight1::Legacy::14.0::$installationPath::<eol>") > $null
-}
-
-$results.Sort()
-$results.Reverse()
-
-return $results