summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2024-07-08 22:50:48 +0800
committerruki <[email protected]>2024-07-08 22:50:48 +0800
commitb973d2af44dba9785fdd50792dd867722b0adab8 (patch)
treee85ce3890ea7dcd63c22046eecca30224f171553
parenta80dac0cbe3d3259b14a78738ef9bd1e1134a028 (diff)
add windows arm support
-rw-r--r--xmake/modules/detect/sdks/find_vstudio.lua25
-rw-r--r--xmake/platforms/windows/xmake.lua2
2 files changed, 24 insertions, 3 deletions
diff --git a/xmake/modules/detect/sdks/find_vstudio.lua b/xmake/modules/detect/sdks/find_vstudio.lua
index a6b7f471e..183f7162f 100644
--- a/xmake/modules/detect/sdks/find_vstudio.lua
+++ b/xmake/modules/detect/sdks/find_vstudio.lua
@@ -268,11 +268,21 @@ function _find_vstudio(opt)
-- load vcvarsall
local vcvarsall_x86 = _load_vcvarsall(vcvarsall, VisualStudioVersion, "x86", opt)
local vcvarsall_x64 = _load_vcvarsall(vcvarsall, VisualStudioVersion, "x64", opt)
+ local vcvarsall_arm = _load_vcvarsall(vcvarsall, VisualStudioVersion, "arm", opt)
local vcvarsall_arm64 = _load_vcvarsall(vcvarsall, VisualStudioVersion, "arm64", opt)
-- save results
local results = {}
- results[vsvers[VisualStudioVersion]] = {version = VisualStudioVersion, vcvarsall_bat = vcvarsall, vcvarsall = {x86 = vcvarsall_x86, x64 = vcvarsall_x64, arm64 = vcvarsall_arm64}}
+ results[vsvers[VisualStudioVersion]] = {
+ version = VisualStudioVersion,
+ vcvarsall_bat = vcvarsall,
+ vcvarsall = {
+ x86 = vcvarsall_x86,
+ x64 = vcvarsall_x64,
+ arm = vcvarsall_arm,
+ arm64 = vcvarsall_arm64
+ }
+ }
return results
end
end
@@ -367,10 +377,20 @@ function _find_vstudio(opt)
-- load vcvarsall
local vcvarsall_x86 = _load_vcvarsall(vcvarsall, version, "x86", opt)
local vcvarsall_x64 = _load_vcvarsall(vcvarsall, version, "x64", opt)
+ local vcvarsall_arm = _load_vcvarsall(vcvarsall, version, "arm", opt)
local vcvarsall_arm64 = _load_vcvarsall(vcvarsall, version, "arm64", opt)
-- save results
- results[vsvers[version]] = {version = version, vcvarsall_bat = vcvarsall, vcvarsall = {x86 = vcvarsall_x86, x64 = vcvarsall_x64, arm64 = vcvarsall_arm64}}
+ results[vsvers[version]] = {
+ version = version,
+ vcvarsall_bat = vcvarsall,
+ vcvarsall = {
+ x86 = vcvarsall_x86,
+ x64 = vcvarsall_x64,
+ arm = vcvarsall_arm,
+ arm64 = vcvarsall_arm64
+ }
+ }
end
end
return results
@@ -469,3 +489,4 @@ function main(opt)
end
return vstudio
end
+
diff --git a/xmake/platforms/windows/xmake.lua b/xmake/platforms/windows/xmake.lua
index 14ada8784..f5f6ca424 100644
--- a/xmake/platforms/windows/xmake.lua
+++ b/xmake/platforms/windows/xmake.lua
@@ -21,7 +21,7 @@
platform("windows")
set_os("windows")
set_hosts("windows")
- set_archs("x86", "x64", "arm64")
+ set_archs("x86", "x64", "arm", "arm64")
set_formats("static", "$(name).lib")
set_formats("object", "$(name).obj")