mirror of
https://github.com/electron/node-gyp.git
synced 2025-08-15 12:58:19 +02:00
support native MSVC 2022 detection in Windows Arm64.
This merges the nodejs/node-gyp#3075 commit that fixes the problem in native MSVC 2022 detection on Windows Arm64 platform.
This commit is contained in:
parent
0453f4fe46
commit
87a1ff3168
3 changed files with 475 additions and 4 deletions
|
@ -145,6 +145,7 @@ class VisualStudioFinder {
|
|||
version: process.env.VSCMD_VER,
|
||||
packages: [
|
||||
'Microsoft.VisualStudio.Component.VC.Tools.x86.x64',
|
||||
'Microsoft.VisualStudio.Component.VC.Tools.ARM64',
|
||||
// Assume MSBuild exists. It will be checked in processing.
|
||||
'Microsoft.VisualStudio.VC.MSBuild.Base'
|
||||
]
|
||||
|
@ -429,12 +430,21 @@ class VisualStudioFinder {
|
|||
|
||||
// Helper - process toolset information
|
||||
getToolset (info, versionYear) {
|
||||
const pkg = 'Microsoft.VisualStudio.Component.VC.Tools.x86.x64'
|
||||
const vcToolsArm64 = 'VC.Tools.ARM64'
|
||||
const pkgArm64 = `Microsoft.VisualStudio.Component.${vcToolsArm64}`
|
||||
const vcToolsX64 = 'VC.Tools.x86.x64'
|
||||
const pkgX64 = `Microsoft.VisualStudio.Component.${vcToolsX64}`
|
||||
const express = 'Microsoft.VisualStudio.WDExpress'
|
||||
|
||||
if (info.packages.indexOf(pkg) !== -1) {
|
||||
this.log.silly('- found VC.Tools.x86.x64')
|
||||
} else if (info.packages.indexOf(express) !== -1) {
|
||||
if (process.arch === 'arm64' && info.packages.includes(pkgArm64)) {
|
||||
this.log.silly(`- found ${vcToolsArm64}`)
|
||||
} else if (info.packages.includes(pkgX64)) {
|
||||
if (process.arch === 'arm64') {
|
||||
this.addLog(`- found ${vcToolsX64} on ARM64 platform. Expect less performance and/or link failure with ARM64 binary.`)
|
||||
} else {
|
||||
this.log.silly(`- found ${vcToolsX64}`)
|
||||
}
|
||||
} else if (info.packages.includes(express)) {
|
||||
this.log.silly('- found Visual Studio Express (looking for toolset)')
|
||||
} else {
|
||||
return null
|
||||
|
|
423
test/fixtures/VS_2022_BuildTools_arm64_only.txt
vendored
Normal file
423
test/fixtures/VS_2022_BuildTools_arm64_only.txt
vendored
Normal file
|
@ -0,0 +1,423 @@
|
|||
[
|
||||
{
|
||||
"path": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools",
|
||||
"version": "17.11.35222.181",
|
||||
"packages": [
|
||||
"Microsoft.VisualStudio.Component.VC.Tools.ARM64",
|
||||
"Microsoft.VisualStudio.VC.MSBuild.v170.ARM64.v143",
|
||||
"Microsoft.VisualStudio.VC.MSBuild.v170.ARM64",
|
||||
"Microsoft.VS.VC.vcvars.arm64.Shortcuts",
|
||||
"Microsoft.VisualCpp.CA.Ext.Hostx64.TargetARM64",
|
||||
"Microsoft.VC.14.41.17.11.CA.Ext.Hostx64.TargetARM64.base",
|
||||
"Microsoft.VC.14.41.17.11.CA.Ext.Hostx64.TargetARM64.Res.base",
|
||||
"Microsoft.VisualCpp.CA.Ext.Hostx86.TargetARM64",
|
||||
"Microsoft.VC.14.41.17.11.CA.Ext.Hostx86.TargetARM64.base",
|
||||
"Microsoft.VC.14.41.17.11.CA.Ext.Hostx86.TargetARM64.Res.base",
|
||||
"Microsoft.VisualCpp.CA.Ext.HostARM64.TargetARM64",
|
||||
"Microsoft.VC.14.41.17.11.CA.Ext.HostARM64.TargetARM64.base",
|
||||
"Microsoft.VC.14.41.17.11.CA.Ext.HostARM64.TargetARM64.Res.base",
|
||||
"Microsoft.VisualCpp.Tools.Hostx86.Targetarm64",
|
||||
"Microsoft.VC.14.41.17.11.Tools.Hostx86.Targetarm64.base",
|
||||
"Microsoft.VC.14.41.17.11.Tools.HostX86.TargetARM64.Res.base",
|
||||
"Microsoft.VisualCpp.Tools.HostARM64.TargetARM64",
|
||||
"Microsoft.VC.14.41.17.11.Tools.HostARM64.TargetARM64.base",
|
||||
"Microsoft.VC.14.41.17.11.Tools.HostARM64.TargetARM64.Res.base",
|
||||
"Microsoft.VisualCpp.CRT.Redist.ARM64.OneCore.Desktop",
|
||||
"Microsoft.VC.14.40.17.10.CRT.Redist.ARM64.OneCore.Desktop.base",
|
||||
"Microsoft.VisualCpp.CRT.Redist.ARM64",
|
||||
"Microsoft.VC.14.40.17.10.CRT.Redist.ARM64.base",
|
||||
"Microsoft.VisualCpp.CRT.ARM64.OneCore.Desktop",
|
||||
"Microsoft.VC.14.41.17.11.CRT.ARM64.OneCore.Desktop.base",
|
||||
"Microsoft.VC.14.41.17.11.CRT.ARM64.OneCore.Desktop.debug.base",
|
||||
"Microsoft.VisualCpp.CRT.ARM64.Store",
|
||||
"Microsoft.VC.14.41.17.11.CRT.ARM64.Store.base",
|
||||
"Microsoft.VisualCpp.CRT.ARM64.Desktop",
|
||||
"Microsoft.VC.14.41.17.11.CRT.ARM64.Desktop.base",
|
||||
"Microsoft.VC.14.41.17.11.CRT.ARM64.Desktop.debug.base",
|
||||
"Microsoft.VisualStudio.PackageGroup.VC.Tools.x64.ARM64",
|
||||
"Microsoft.VisualCpp.Tools.Core",
|
||||
"Microsoft.VisualCpp.PGO.ARM64",
|
||||
"Microsoft.VC.14.41.17.11.PGO.ARM64.base",
|
||||
"Microsoft.VisualCpp.Premium.Tools.Hostx86.Targetarm64",
|
||||
"Microsoft.VC.14.41.17.11.Premium.Tools.Hostx86.Targetarm64.base",
|
||||
"Microsoft.VC.14.41.17.11.Prem.HostX86.TargetARM64.Res.base",
|
||||
"Microsoft.VisualCpp.Premium.Tools.HostX64.TargetARM64",
|
||||
"Microsoft.VC.14.41.17.11.Premium.Tools.HostX64.TargetARM64.base",
|
||||
"Microsoft.VC.14.41.17.11.Prem.HostX64.TargetARM64.Res.base",
|
||||
"Microsoft.VisualCpp.Premium.Tools.ARM64.Base",
|
||||
"Microsoft.VC.14.41.17.11.Premium.Tools.ARM64.Base.base",
|
||||
"Microsoft.VisualCpp.Tools.HostX64.TargetARM64",
|
||||
"Microsoft.VC.14.41.17.11.Tools.HostX64.TargetARM64.base",
|
||||
"Microsoft.VC.14.41.17.11.Tools.HostX64.TargetARM64.Res.base",
|
||||
"Microsoft.VC.14.41.17.11.Props.ARM64",
|
||||
"Microsoft.VisualStudio.TestTools.TestWIExtension",
|
||||
"Microsoft.VisualStudio.TestTools.TestPlatform.IDE",
|
||||
"Microsoft.VisualStudio.VC.Ide.Pro",
|
||||
"Microsoft.VisualStudio.VC.Ide.Pro.Resources",
|
||||
"Microsoft.VisualStudio.VC.Templates.General",
|
||||
"Microsoft.VisualStudio.VC.Templates.General.Resources",
|
||||
"Microsoft.VisualStudio.VC.Items.Pro",
|
||||
"Microsoft.VisualStudio.PackageGroup.VC.CoreIDE.Reduced",
|
||||
"Microsoft.VisualStudio.VC.Ide.MDD",
|
||||
"Microsoft.VisualStudio.PackageGroup.Core",
|
||||
"Microsoft.VisualStudio.CodeSense.Community",
|
||||
"Microsoft.VisualStudio.TestTools.TeamFoundationClient",
|
||||
"Microsoft.PackageGroup.ClientDiagnostics",
|
||||
"Microsoft.VisualStudio.AppResponsiveness",
|
||||
"Microsoft.VisualStudio.AppResponsiveness.Targeted",
|
||||
"Microsoft.VisualStudio.AppResponsiveness.Resources",
|
||||
"Microsoft.VisualStudio.ClientDiagnostics",
|
||||
"Microsoft.VisualStudio.ClientDiagnostics.Targeted",
|
||||
"Microsoft.VisualStudio.Component.VC.Llvm.Clang",
|
||||
"Microsoft.VisualStudio.VC.Llvm.Clang",
|
||||
"Microsoft.VisualStudio.ClientDiagnostics.Resources",
|
||||
"Microsoft.VisualStudio.PackageGroup.CommunityCore",
|
||||
"Microsoft.VisualStudio.ProjectSystem.Full",
|
||||
"Microsoft.VisualStudio.Product.BuildTools",
|
||||
"Microsoft.VisualStudio.VC.Ide.Linux.ConnectionManager",
|
||||
"Microsoft.VisualStudio.VC.Ide.Linux.ConnectionManager.Resources",
|
||||
"Microsoft.VisualStudio.PackageGroup.TestTools.Core",
|
||||
"Microsoft.VC.14.41.17.11.Props.x86",
|
||||
"Microsoft.VC.14.41.17.11.Props",
|
||||
"Microsoft.VisualCpp.RuntimeDebug.14",
|
||||
"Microsoft.VisualCpp.RuntimeDebug.14.ARM64",
|
||||
"Microsoft.VC.14.41.17.11.Tools.HostX86.TargetX86.Res.base",
|
||||
"Microsoft.VisualCpp.Tools.Core.Resources",
|
||||
"Microsoft.VisualCpp.Tools.Core.x86",
|
||||
"Microsoft.VC.14.41.17.11.Tools.Core.Props",
|
||||
"Microsoft.VisualCpp.Tools.Common.Utils",
|
||||
"Microsoft.VisualCpp.Tools.Common.Utils.Resources",
|
||||
"Microsoft.VisualCpp.DIA.SDK",
|
||||
"Microsoft.VisualCpp.Servicing.DIASDK",
|
||||
"Microsoft.VisualCpp.CRT.x86.Desktop",
|
||||
"Microsoft.VisualStudio.Workload.VCTools",
|
||||
"Microsoft.VC.14.41.17.11.CRT.x64.Desktop.base",
|
||||
"Microsoft.VisualCpp.CRT.Source",
|
||||
"Microsoft.VC.14.41.17.11.CRT.Source.base",
|
||||
"Microsoft.VisualCpp.CRT.Headers",
|
||||
"Microsoft.VC.14.41.17.11.CRT.Headers.Resources",
|
||||
"Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset",
|
||||
"Microsoft.VisualCpp.CRT.Redist.Resources",
|
||||
"Microsoft.VC.14.41.17.11.CRT.Headers.Resources.base",
|
||||
"Microsoft.VisualStudio.VC.MSBuild.Llvm",
|
||||
"Microsoft.VisualStudio.VC.MSBuild.Llvm.Resources",
|
||||
"Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core",
|
||||
"Microsoft.VisualStudio.PackageGroup.TestTools.Native",
|
||||
"Microsoft.VisualStudio.VC.Templates.UnitTest",
|
||||
"Microsoft.VisualStudio.VC.Templates.UnitTest.Resources",
|
||||
"Microsoft.VisualCpp.ATL.ARM64",
|
||||
"Microsoft.VC.14.41.17.11.ATL.ARM64.base",
|
||||
"Microsoft.VisualStudio.Community.VB.Targeted",
|
||||
"Microsoft.VisualStudio.Community.VB.Neutral",
|
||||
"Microsoft.VisualStudio.Community.CSharp.Targeted",
|
||||
"Microsoft.VisualStudio.Community.CSharp.Neutral",
|
||||
"Microsoft.VisualStudio.Community.ProductArch.TargetedExtra",
|
||||
"Microsoft.VisualStudio.VC.MSBuild.Base",
|
||||
"Microsoft.VisualStudio.VC.MSBuild.Base.Resources",
|
||||
"Microsoft.VisualStudio.VC.Templates.Desktop",
|
||||
"Microsoft.VisualStudio.Component.VC.CoreIde",
|
||||
"Microsoft.VisualCpp.ATL.ARM64.Spectre",
|
||||
"Microsoft.VisualStudio.Component.VC.ATL.ARM64",
|
||||
"Microsoft.VisualCpp.CRT.x86.Store",
|
||||
"Microsoft.VC.14.41.17.11.ATL.ARM64.Spectre.base",
|
||||
"Microsoft.VC.14.41.17.11.CRT.x86.Store.base",
|
||||
"Microsoft.VC.14.41.17.11.Props.ARM64.Spectre",
|
||||
"Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre",
|
||||
"Microsoft.VisualStudio.Community.x64",
|
||||
"Microsoft.VisualStudio.Community.ProductArch.Targeted",
|
||||
"Microsoft.VisualStudio.Community.ProductArch.NeutralExtra",
|
||||
"Microsoft.IntelliTrace.CollectorCab",
|
||||
"Microsoft.VisualStudio.Community.VB.Resources.Targeted",
|
||||
"Microsoft.VisualStudio.Community.VB.Resources.Neutral",
|
||||
"Microsoft.VisualStudio.Community.CSharp.Resources.Targeted",
|
||||
"Microsoft.VisualStudio.Community.CSharp.Resources.Neutral",
|
||||
"Microsoft.VisualStudio.Community.ProductArch.Resources.Targeted",
|
||||
"Microsoft.VisualStudio.Community.ProductArch.Resources.NeutralExtra",
|
||||
"Microsoft.VisualStudio.Community.ProductArch.Resources.Neutral",
|
||||
"Microsoft.VisualStudio.WebSiteProject.DTE",
|
||||
"Microsoft.VisualStudio.Diagnostics.AspNetHelper",
|
||||
"Microsoft.MSHtml",
|
||||
"Microsoft.VisualStudio.Platform.CallHierarchy",
|
||||
"Microsoft.VisualStudio.Community.ProductArch.Neutral",
|
||||
"Microsoft.VisualStudio.Community.Msi.Resources",
|
||||
"Microsoft.VisualStudio.Community.Msi",
|
||||
"Microsoft.VisualStudio.Community.Shared.Msi",
|
||||
"Microsoft.VisualStudio.MinShell.Interop.Msi",
|
||||
"Microsoft.VisualStudio.MinShell.Interop.Shared.Msi",
|
||||
"Microsoft.VisualStudio.PackageGroup.CoreEditor",
|
||||
"Microsoft.VisualStudio.ScriptedHost",
|
||||
"Microsoft.VisualStudio.ScriptedHost.Targeted",
|
||||
"Microsoft.VisualStudio.VirtualTree",
|
||||
"Microsoft.VisualStudio.PackageGroup.Progression",
|
||||
"Microsoft.VisualStudio.PerformanceProvider",
|
||||
"Microsoft.VisualStudio.GraphModel",
|
||||
"Microsoft.VisualStudio.GraphProvider",
|
||||
"Microsoft.VisualStudio.TextMateGrammars",
|
||||
"Microsoft.VisualStudio.Platform.Markdown",
|
||||
"Microsoft.VisualStudio.PackageGroup.TeamExplorer.Common",
|
||||
"Microsoft.VisualStudio.PackageGroup.ServiceHub",
|
||||
"Microsoft.ServiceHub.Node",
|
||||
"Microsoft.ServiceHub.Managed",
|
||||
"Microsoft.VisualStudio.OpenFolder.VSIX",
|
||||
"Microsoft.VisualStudio.FileHandler.Msi",
|
||||
"Microsoft.VisualStudio.FileHandler.Msi",
|
||||
"Microsoft.VisualStudio.PackageGroup.MinShell",
|
||||
"Microsoft.VisualStudio.MinShell.Msi",
|
||||
"Microsoft.VisualStudio.MinShell.Shared.Msi",
|
||||
"Microsoft.VisualStudio.MinShell.Msi.Resources",
|
||||
"Microsoft.VisualStudio.MinShell.Interop",
|
||||
"Microsoft.VisualStudio.Log",
|
||||
"Microsoft.VisualStudio.Log.Targeted",
|
||||
"Microsoft.VisualStudio.Log.Resources",
|
||||
"Microsoft.VisualStudio.Finalizer",
|
||||
"Microsoft.VisualStudio.CoreEditor",
|
||||
"Microsoft.VisualStudio.Platform.NavigateTo",
|
||||
"Microsoft.VisualStudio.Connected",
|
||||
"Microsoft.VisualStudio.Identity",
|
||||
"Microsoft.Developer.IdentityServiceGS",
|
||||
"SQLitePCLRaw",
|
||||
"SQLitePCLRaw.Targeted",
|
||||
"Microsoft.VisualStudio.Connected.Auto",
|
||||
"Microsoft.VisualStudio.Connected.Auto.Resources",
|
||||
"Microsoft.VisualStudio.Connected.Resources",
|
||||
"Microsoft.VisualStudio.VC.Ide.x64",
|
||||
"Microsoft.VisualStudio.PackageGroup.VC.CoreIDE.Express",
|
||||
"Microsoft.VisualStudio.PackageGroup.Debugger.Script",
|
||||
"Microsoft.VisualStudio.Debugger.Script",
|
||||
"Microsoft.VisualStudio.Debugger.Script.Resources",
|
||||
"Microsoft.VisualStudio.Debugger.Script.Remote",
|
||||
"Microsoft.WebView2",
|
||||
"Microsoft.VisualStudio.Debugger.Script.Remote",
|
||||
"Microsoft.VisualStudio.Debugger.Script.Remote.Resources",
|
||||
"Microsoft.VisualStudio.Debugger.Script.Remote.Resources",
|
||||
"Microsoft.VisualStudio.VC.Ide.WinXPlus",
|
||||
"Microsoft.VisualStudio.VC.Ide.Dskx",
|
||||
"Microsoft.VisualStudio.VC.Ide.Dskx.Resources",
|
||||
"Microsoft.VisualStudio.VC.Ide.Base",
|
||||
"Microsoft.VisualStudio.VC.Ide.LanguageService",
|
||||
"Microsoft.VisualStudio.VC.Copilot.Setup",
|
||||
"Microsoft.VisualStudio.VC.Ide.VCPkgDatabase",
|
||||
"Microsoft.VisualStudio.VC.Ide.ResourceEditor",
|
||||
"Microsoft.VisualStudio.VC.Ide.ResourceEditor.Resources",
|
||||
"Microsoft.VisualStudio.VC.Ide.Core",
|
||||
"Microsoft.VisualStudio.VisualC.Utilities",
|
||||
"Microsoft.VisualStudio.VisualC.Utilities.Resources",
|
||||
"Microsoft.VisualStudio.VC.Ide.ProjectSystem",
|
||||
"Microsoft.VisualStudio.VC.Ide.ProjectSystem.Resources",
|
||||
"Microsoft.VisualStudio.VC.Ide.Core.VCProjectEngine",
|
||||
"Microsoft.VisualStudio.VC.Ide.Core.VCProjectEngine.Resources",
|
||||
"Microsoft.VisualStudio.VC.Ide.LanguageService.Resources",
|
||||
"Microsoft.VisualStudio.VC.Llvm.Base",
|
||||
"CoreEditorFonts",
|
||||
"Microsoft.VisualStudio.VC.Ide.Base.Resources",
|
||||
"Microsoft.VisualStudio.Component.TextTemplating",
|
||||
"Microsoft.VisualStudio.PackageGroup.Debugger.Core",
|
||||
"Microsoft.VisualStudio.Debugger.BrokeredServices",
|
||||
"Microsoft.VisualStudio.Debugger.VSCodeDebuggerHost",
|
||||
"Microsoft.VisualStudio.Debugger.AzureAttach",
|
||||
"Microsoft.VisualStudio.Web.Azure.Common",
|
||||
"Microsoft.WebTools.Shared",
|
||||
"Microsoft.WebTools.DotNet.Core.ItemTemplates",
|
||||
"Microsoft.VisualStudio.PackageGroup.Debugger.TimeTravel.Replay",
|
||||
"Microsoft.VisualStudio.VC.Ide.Debugger",
|
||||
"Microsoft.VisualStudio.VC.Ide.Debugger.Concord",
|
||||
"Microsoft.VisualStudio.VC.Ide.Debugger.Concord.Resources",
|
||||
"Microsoft.VisualStudio.VC.Ide.Debugger.Resources",
|
||||
"Microsoft.VisualStudio.VC.Ide.Common",
|
||||
"Microsoft.VisualStudio.VC.Ide.Common.Resources",
|
||||
"Microsoft.VisualStudio.Debugger.CollectionAgents",
|
||||
"Microsoft.VisualStudio.Debugger.Parallel",
|
||||
"Microsoft.VisualStudio.Debugger.Parallel.Resources",
|
||||
"Microsoft.VisualStudio.Debugger.Managed",
|
||||
"Microsoft.DiaSymReader",
|
||||
"Microsoft.CodeAnalysis.ExpressionEvaluator",
|
||||
"Microsoft.VisualStudio.Debugger.Concord.Managed",
|
||||
"Microsoft.VisualStudio.Debugger.Concord.Managed.Resources",
|
||||
"Microsoft.VisualStudio.Debugger.Managed.Resources",
|
||||
"Microsoft.VisualStudio.Debugger.TargetComposition",
|
||||
"Microsoft.VisualStudio.Debugger.TargetComposition.Remote.arm64",
|
||||
"Microsoft.VisualStudio.Debugger.TargetComposition.Remote",
|
||||
"Microsoft.VisualStudio.Debugger.TargetComposition.Remote",
|
||||
"Microsoft.VisualStudio.Debugger.Remote",
|
||||
"Microsoft.VisualStudio.Debugger.Concord.Remote",
|
||||
"Microsoft.VisualStudio.Debugger.Concord.Remote.Resources",
|
||||
"Microsoft.VisualStudio.VC.Ide.LanguageService.Dependencies",
|
||||
"Microsoft.VisualStudio.Debugger.Remote",
|
||||
"Microsoft.VisualStudio.Debugger.Remote.ARM64",
|
||||
"Microsoft.VisualStudio.Debugger.Concord.Remote.ARM64",
|
||||
"Microsoft.VisualStudio.Debugger.Concord.Remote.Resources.ARM64",
|
||||
"Microsoft.VisualStudio.Debugger.Remote.ARM",
|
||||
"Microsoft.VisualStudio.Debugger.Concord.Remote.ARM",
|
||||
"Microsoft.VisualStudio.Debugger.Concord.Remote.Resources.ARM",
|
||||
"Microsoft.VisualStudio.Debugger.Remote.Resources.ARM",
|
||||
"Microsoft.VisualStudio.Debugger.Remote.Resources.ARM64",
|
||||
"Microsoft.VisualStudio.Debugger.Concord.Remote",
|
||||
"Microsoft.VisualStudio.Debugger.Concord.Remote.Resources",
|
||||
"Microsoft.VisualStudio.Debugger.Remote.Resources",
|
||||
"Microsoft.VisualStudio.Debugger.Remote.Resources",
|
||||
"Microsoft.VisualStudio.Debugger",
|
||||
"Microsoft.VisualStudio.AzureSDK",
|
||||
"Microsoft.VisualStudio.Editors",
|
||||
"Microsoft.VisualStudio.VC.MSVCDis",
|
||||
"Microsoft.IntelliTrace.DiagnosticsHub",
|
||||
"Microsoft.VisualStudio.MinShell",
|
||||
"Microsoft.VisualStudio.Copilot.Contracts",
|
||||
"Microsoft.VisualStudio.Licensing",
|
||||
"Microsoft.VisualStudio.IdentityDependencies",
|
||||
"Microsoft.VisualStudio.GitHubProtocolHandler.Msi",
|
||||
"Microsoft.VisualStudio.VsWebProtocolSelector.Msi",
|
||||
"Microsoft.VisualStudio.Extensibility.Container",
|
||||
"Microsoft.VisualStudio.LanguageServer",
|
||||
"Microsoft.VisualStudio.MefHosting",
|
||||
"Microsoft.VisualStudio.Initializer",
|
||||
"Microsoft.VisualStudio.ExtensionManager",
|
||||
"Microsoft.VisualStudio.ExtensionManager.Auto",
|
||||
"Microsoft.VisualStudio.Platform.Editor",
|
||||
"Microsoft.VisualStudio.MinShell.Targeted",
|
||||
"Microsoft.VisualStudio.Devenv.Config",
|
||||
"Microsoft.VisualStudio.MinShell.Resources",
|
||||
"Microsoft.VisualStudio.UIInternal.Guide",
|
||||
"Microsoft.VisualStudio.UIInternal",
|
||||
"Microsoft.VisualStudio.UIInternal.Resources",
|
||||
"Microsoft.VisualStudio.CoreDotNet",
|
||||
"Microsoft.VisualStudio.MinShell.Auto",
|
||||
"Microsoft.VisualStudio.MinShell.Auto.Resources",
|
||||
"Microsoft.VisualStudio.Debugger.Concord",
|
||||
"Microsoft.VisualStudio.Debugger.Concord.Resources",
|
||||
"Microsoft.VisualStudio.Debugger.Resources",
|
||||
"Microsoft.DiaSymReader.PortablePdb",
|
||||
"Microsoft.VisualStudio.PerfLib",
|
||||
"Microsoft.VisualStudio.Debugger.Package.DiagHub.Client",
|
||||
"Microsoft.VisualStudio.Debugger.Remote.DiagnosticsHub.Client",
|
||||
"Microsoft.VisualStudio.Debugger.Remote.DiagnosticsHub.Client",
|
||||
"Microsoft.VisualStudio.Debugger.Remote.DiagnosticsHub.Client",
|
||||
"Microsoft.VisualStudio.TextTemplating.MSBuild",
|
||||
"Microsoft.VisualStudio.TextTemplating.Integration",
|
||||
"Microsoft.VisualStudio.TextTemplating.Core",
|
||||
"Microsoft.VisualStudio.PackageGroup.Roslyn.LanguageServices",
|
||||
"Microsoft.CodeAnalysis.VisualStudio.Setup",
|
||||
"Microsoft.VisualStudio.TextTemplating.Integration.Resources",
|
||||
"Microsoft.VC.14.41.17.11.Props.IFC",
|
||||
"Microsoft.VisualStudio.Component.VC.ASAN",
|
||||
"Microsoft.VisualCpp.ASAN.X86",
|
||||
"Microsoft.VC.14.41.17.11.ASAN.X86.base",
|
||||
"Microsoft.VC.14.41.17.11.ASAN.X64.base",
|
||||
"Microsoft.VC.14.41.17.11.ASAN.Headers.base",
|
||||
"Microsoft.VC.14.41.17.11.Props.ATLMFC",
|
||||
"Microsoft.VisualCpp.ATL.Source",
|
||||
"Microsoft.VC.14.41.17.11.ATL.Source.base",
|
||||
"Microsoft.VisualCpp.ATL.Headers",
|
||||
"Microsoft.VC.14.41.17.11.ATL.Headers.base",
|
||||
"Microsoft.VC.14.41.17.11.Servicing.ATL",
|
||||
"Microsoft.VisualStudio.Component.TestTools.BuildTools",
|
||||
"Microsoft.VisualStudio.PackageGroup.TestTools.BuildTools",
|
||||
"Microsoft.VisualStudio.PackageGroup.TestTools.CodeCoverage",
|
||||
"Microsoft.VisualStudio.TestTools.DynamicCodeCoverage",
|
||||
"Microsoft.CodeCoverage.Console.Targeted",
|
||||
"Microsoft.VisualStudio.TestTools.TestPlatform.V1.CLI",
|
||||
"Microsoft.VisualStudio.PackageGroup.TestTools.TestPlatform.V2.CLI",
|
||||
"Microsoft.VisualStudio.TestTools.TestPlatform.V2.CLI",
|
||||
"Microsoft.VisualStudio.Component.Windows11SDK.22621",
|
||||
"Microsoft.VisualStudio.VC.UnitTest.Desktop.Build.Core",
|
||||
"Microsoft.VisualStudio.TestTools.TestPlatform.V1.CPP",
|
||||
"Microsoft.VisualStudio.Component.VC.Redist.14.Latest",
|
||||
"Microsoft.VC.14.41.17.11.CA.Rulesets.base",
|
||||
"Microsoft.VC.14.41.17.11.Servicing.CARulesets",
|
||||
"Microsoft.VC.14.41.17.11.Servicing.CAExtensions",
|
||||
"Microsoft.VC.14.41.17.11.Tools.HostX64.TargetX86.base",
|
||||
"Microsoft.VC.14.41.17.11.Tools.HostX64.TargetX86.Res.base",
|
||||
"Microsoft.VisualCpp.Tools.HostX64.TargetX64",
|
||||
"Microsoft.VC.14.41.17.11.Tools.HostX64.TargetX64.base",
|
||||
"Microsoft.VC.14.41.17.11.Tools.HostX64.TargetX64.Res.base",
|
||||
"Microsoft.VisualCpp.Tools.HostARM64.TargetX86",
|
||||
"Microsoft.VC.14.41.17.11.Tools.HostARM64.TargetX86.base",
|
||||
"Microsoft.VC.14.41.17.11.Tools.HostARM64.TargetX86.Res.base",
|
||||
"Microsoft.VisualCpp.Premium.Tools.HostX86.TargetX86",
|
||||
"Microsoft.VC.14.41.17.11.Premium.Tools.HostX86.TargetX86.base",
|
||||
"Microsoft.VisualStudio.Component.VC.Modules.ARM64",
|
||||
"Microsoft.VC.14.41.17.11.Prem.HostX86.TargetX86.Res.base",
|
||||
"Microsoft.VisualCpp.Premium.Tools.HostX64.TargetX64",
|
||||
"Microsoft.VC.14.41.17.11.Premium.Tools.HostX64.TargetX64.base",
|
||||
"Microsoft.VC.14.41.17.11.Prem.HostX64.TargetX64.Res.base",
|
||||
"Microsoft.Build.Arm64",
|
||||
"Microsoft.Build.UnGAC",
|
||||
"Microsoft.VisualStudio.VC.Icons",
|
||||
"Microsoft.VisualCpp.CRT.x86.OneCore.Desktop",
|
||||
"Microsoft.VC.14.41.17.11.CRT.x86.OneCore.Desktop.base",
|
||||
"Microsoft.VisualCpp.CRT.x64.Store",
|
||||
"Microsoft.VC.14.41.17.11.CRT.x64.Store.base",
|
||||
"Microsoft.VisualStudio.InstrumentationEngine.ARM64",
|
||||
"Microsoft.VisualStudio.InstrumentationEngine",
|
||||
"Microsoft.VisualCpp.CRT.x64.OneCore.Desktop",
|
||||
"Microsoft.VC.14.41.17.11.CRT.x64.OneCore.Desktop.base",
|
||||
"Microsoft.VC.14.41.17.11.Tools.HostX86.TargetX64.base",
|
||||
"Microsoft.VC.14.41.17.11.Props.x64",
|
||||
"Microsoft.VC.14.41.17.11.Tools.Hostx86.Targetx64.Res.base",
|
||||
"Win11SDK_10.0.22621",
|
||||
"Microsoft.VisualCpp.Tools.HostX86.TargetX86",
|
||||
"Microsoft.VC.14.41.17.11.Tools.HostX86.TargetX86.base",
|
||||
"Microsoft.VC.14.41.17.11.Servicing.Compilers",
|
||||
"Microsoft.VisualCpp.Redist.14.Latest",
|
||||
"Microsoft.VisualCpp.Redist.14.Latest",
|
||||
"Microsoft.VisualStudio.LiveShareApi",
|
||||
"Microsoft.VisualStudio.ProjectSystem.Query",
|
||||
"Microsoft.VisualStudio.Component.VC.Tools.ARM64EC",
|
||||
"Microsoft.VisualCpp.CRT.ARM64EC.Store",
|
||||
"Microsoft.VisualStudio.VC.MSBuild.v170.ARM64EC.v143",
|
||||
"Microsoft.VC.14.41.17.11.CRT.ARM64EC.Store.base",
|
||||
"Microsoft.VisualStudio.VC.MSBuild.v170.ARM64EC",
|
||||
"Microsoft.VC.14.41.17.11.CRT.x86.Desktop.base",
|
||||
"Microsoft.VisualCpp.CRT.x64.Desktop",
|
||||
"Microsoft.VisualStudio.ProjectSystem",
|
||||
"Microsoft.VisualStudio.Community.x86",
|
||||
"Microsoft.VisualCpp.IFC.arm64",
|
||||
"Microsoft.VisualCpp.Redist.14",
|
||||
"Microsoft.VisualCpp.Redist.14",
|
||||
"Microsoft.VisualCpp.Servicing.Redist",
|
||||
"Microsoft.VisualStudio.PackageGroup.TestTools.TestPlatform.IDE",
|
||||
"Microsoft.VC.14.41.17.11.CRT.Headers.base",
|
||||
"Microsoft.VC.14.41.17.11.Servicing.CrtHeaders",
|
||||
"Microsoft.VC.14.41.17.11.Servicing",
|
||||
"Microsoft.VisualStudio.Component.VC.CoreBuildTools",
|
||||
"Microsoft.VisualStudio.VC.vcvars",
|
||||
"Microsoft.VS.VC.vcvars.x86.Shortcuts",
|
||||
"Microsoft.Windows.UniversalCRT.Redistributable.Msi",
|
||||
"Microsoft.VS.VC.vcvars.x64.Shortcuts",
|
||||
"Microsoft.VS.VC.vcvars.arm64_x64.Shortcuts",
|
||||
"Microsoft.VisualStudio.Component.Windows10SDK",
|
||||
"Microsoft.VisualStudio.VC.MSBuild.v170.x86.v143",
|
||||
"Microsoft.VisualStudio.VC.MSBuild.v170.X86",
|
||||
"Microsoft.VisualStudio.VC.MSBuild.v170.X64.v143",
|
||||
"Microsoft.VisualStudio.VC.MSBuild.v170.X64",
|
||||
"Microsoft.VisualStudio.VC.MSBuild.v170.ARM.v143",
|
||||
"Microsoft.VisualStudio.VC.MSBuild.v170.ARM",
|
||||
"Microsoft.VisualStudio.VC.MSBuild.v170.Base",
|
||||
"Microsoft.VisualStudio.VC.MSBuild.v170.Base.Resources",
|
||||
"Microsoft.VisualStudio.Workload.MSBuildTools",
|
||||
"Microsoft.VisualStudio.Component.CoreBuildTools",
|
||||
"Microsoft.VisualStudio.Setup.Configuration",
|
||||
"Microsoft.VisualStudio.PackageGroup.Setup.Common",
|
||||
"Microsoft.VisualStudio.Setup.WMIProvider",
|
||||
"Microsoft.VisualStudio.Setup.Configuration.Interop",
|
||||
"Microsoft.VisualStudio.PackageGroup.VsDevCmd",
|
||||
"Microsoft.VisualStudio.VsDevCmd.Ext.NetFxSdk",
|
||||
"Microsoft.VisualStudio.VsDevCmd.Core.WinSdk",
|
||||
"Microsoft.VisualStudio.VsDevCmd.Core.DotNet",
|
||||
"Microsoft.VisualStudio.VC.DevCmd",
|
||||
"Microsoft.VisualStudio.VC.DevCmd.Resources",
|
||||
"Microsoft.VisualStudio.BuildTools.Resources",
|
||||
"Microsoft.VisualStudio.Net.Eula.Resources",
|
||||
"Microsoft.Build.Dependencies",
|
||||
"Microsoft.NuGet.Build.Tasks.Setup",
|
||||
"Microsoft.Build.FileTracker.Msi",
|
||||
"Microsoft.Component.MSBuild",
|
||||
"Microsoft.PythonTools.BuildCore.Vsix",
|
||||
"Microsoft.VisualStudio.Component.Roslyn.Compiler",
|
||||
"Microsoft.CodeAnalysis.Compilers",
|
||||
"Microsoft.VisualStudio.NativeImageSupport",
|
||||
"Microsoft.Build",
|
||||
"Microsoft.VisualStudio.PackageGroup.NuGet",
|
||||
"Microsoft.VisualStudio.NuGet.BuildTools"
|
||||
]
|
||||
}
|
||||
]
|
|
@ -462,6 +462,44 @@ describe('find-visualstudio', function () {
|
|||
})
|
||||
})
|
||||
|
||||
it('VS2022 Build Tools with ARM64 MSVC only', async function () {
|
||||
if (process.arch !== 'arm64') {
|
||||
return
|
||||
}
|
||||
|
||||
const msBuildPath = 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\' +
|
||||
'BuildTools\\MSBuild\\Current\\Bin\\arm64\\MSBuild.exe'
|
||||
|
||||
const finder = new TestVisualStudioFinder(semverV1, null)
|
||||
|
||||
poison(finder, 'regSearchKeys')
|
||||
poison(finder, 'findVisualStudio2017')
|
||||
finder.msBuildPathExists = (path) => {
|
||||
return true
|
||||
}
|
||||
finder.findNewVSUsingSetupModule = async () => null
|
||||
finder.findVisualStudio2019OrNewer = async () => {
|
||||
const file = path.join(__dirname, 'fixtures',
|
||||
'VS_2022_BuildTools_arm64_only.txt')
|
||||
const data = fs.readFileSync(file)
|
||||
const parsedData = finder.parseData(null, data, '', { checkIsArray: true })
|
||||
return finder.processData(parsedData, [2019, 2022])
|
||||
}
|
||||
const { err, info } = await finder.findVisualStudio()
|
||||
assert.strictEqual(err, null)
|
||||
assert.deepStrictEqual(info, {
|
||||
msBuild: msBuildPath,
|
||||
path:
|
||||
'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools',
|
||||
sdk: '10.0.22621.0',
|
||||
toolset: 'v143',
|
||||
version: '17.11.35222.181',
|
||||
versionMajor: 17,
|
||||
versionMinor: 11,
|
||||
versionYear: 2022
|
||||
})
|
||||
})
|
||||
|
||||
it('VSSetup: VS2022 with C++ workload without SDK', async function () {
|
||||
const finder = new TestVisualStudioFinder(semverV1, null)
|
||||
finder.msBuildPathExists = (path) => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue