From 1bf418b749afd4abaeaf36574569e6ac4fc4b8d9 Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 13 Sep 2022 00:47:00 +0800 Subject: fix archs for vs/vsxmake generator --- xmake/plugins/project/vstudio/impl/vs201x.lua | 3 +++ xmake/plugins/project/vsxmake/getinfo.lua | 4 ++++ xmake/toolchains/msvc/check.lua | 1 + 3 files changed, 8 insertions(+) diff --git a/xmake/plugins/project/vstudio/impl/vs201x.lua b/xmake/plugins/project/vstudio/impl/vs201x.lua index 5d0e730d9..19176b111 100644 --- a/xmake/plugins/project/vstudio/impl/vs201x.lua +++ b/xmake/plugins/project/vstudio/impl/vs201x.lua @@ -469,6 +469,9 @@ function _make_vsinfo_archs() vsinfo_archs = allowed_archs:to_array() end end + if not vsinfo_archs then + vsinfo_archs = toolchain.load("msvc"):config("vcarchs") + end if not vsinfo_archs then vsinfo_archs = platform.archs() end diff --git a/xmake/plugins/project/vsxmake/getinfo.lua b/xmake/plugins/project/vsxmake/getinfo.lua index 49bbfe745..4263ff375 100644 --- a/xmake/plugins/project/vsxmake/getinfo.lua +++ b/xmake/plugins/project/vsxmake/getinfo.lua @@ -27,6 +27,7 @@ import("core.project.project") import("core.platform.platform") import("core.tool.compiler") import("core.tool.linker") +import("core.tool.toolchain") import("core.cache.memcache") import("core.cache.localcache") import("lib.detect.find_tool") @@ -287,6 +288,9 @@ function _make_vsinfo_archs() vsinfo_archs = allowed_archs:to_array() end end + if not vsinfo_archs then + vsinfo_archs = toolchain.load("msvc"):config("vcarchs") + end if not vsinfo_archs then vsinfo_archs = platform.archs() end diff --git a/xmake/toolchains/msvc/check.lua b/xmake/toolchains/msvc/check.lua index dcaa89bea..6d5772733 100644 --- a/xmake/toolchains/msvc/check.lua +++ b/xmake/toolchains/msvc/check.lua @@ -63,6 +63,7 @@ function _check_vsenv(toolchain) -- save vcvars toolchain:config_set("vcvars", vcvars) + toolchain:config_set("vcarchs", table.orderkeys(vcvarsall)) toolchain:config_set("vs_toolset", vcvars.VCToolsVersion) toolchain:config_set("vs_sdkver", vcvars.WindowsSDKVersion) -- cgit v1.3.1