summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorqiuyi <[email protected]>2026-01-05 16:06:36 +0800
committerqiuyi <[email protected]>2026-01-05 16:06:54 +0800
commit873bcdb3fefcee27023f356d24745815293a946d (patch)
treedeb7ace30f880911551f1337af120c112a42c345
parent346e2cf549cbd030cadc2d735bb4053da25f751d (diff)
fix r_arch to v_arch convert failed when suffix is added
-rw-r--r--xmake/rules/cuda/gencodes/xmake.lua13
1 files changed, 12 insertions, 1 deletions
diff --git a/xmake/rules/cuda/gencodes/xmake.lua b/xmake/rules/cuda/gencodes/xmake.lua
index 51b03468f..d27a3cb7c 100644
--- a/xmake/rules/cuda/gencodes/xmake.lua
+++ b/xmake/rules/cuda/gencodes/xmake.lua
@@ -136,7 +136,18 @@ rule("cuda.gencodes")
if v_arch then
table.insert(r_archs, v_arch)
else
- v_arch = math.min(table.unpack(r_archs))
+ v_arch = r_archs[1]
+ local v_arch_ver = type(v_arch) == "string" and tonumber(v_arch:match("^(%d+)")) or v_arch
+ for i = 2, #r_archs do
+ local r_arch = r_archs[i]
+ local r_arch_ver = type(r_arch) == "string" and tonumber(r_arch:match("^(%d+)")) or r_arch
+ if r_arch_ver < v_arch_ver then
+ v_arch = r_arch
+ v_arch_ver = r_arch_ver
+ elseif r_arch_ver == v_arch_ver and type(r_arch) == "number" and type(v_arch) == "string" then
+ v_arch = r_arch
+ end
+ end
end
r_archs = table.unique(r_archs)