summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2021-03-27 21:49:10 +0800
committerruki <[email protected]>2021-03-27 21:49:10 +0800
commitb00f2a185bb546d7bc90b93d2af96d7e1e15ec1b (patch)
treed474762d7e30af916797598fa8b3076f6ed0e109
parentfb14f73e5def17223e143840743e33b490fe6a48 (diff)
fix project toolchain
-rw-r--r--xmake/core/project/project.lua3
-rw-r--r--xmake/core/tool/toolchain.lua6
2 files changed, 5 insertions, 4 deletions
diff --git a/xmake/core/project/project.lua b/xmake/core/project/project.lua
index e1e328914..2250bfa53 100644
--- a/xmake/core/project/project.lua
+++ b/xmake/core/project/project.lua
@@ -1028,7 +1028,8 @@ end
-- get the given toolchain
function project.toolchain(name, opt)
- local info = project._toolchains()[name]
+ local toolchain_name = toolchain.parsename(name) -- we need ignore `@packagename`
+ local info = project._toolchains()[toolchain_name]
if info then
return toolchain.load_withinfo(name, info, opt)
end
diff --git a/xmake/core/tool/toolchain.lua b/xmake/core/tool/toolchain.lua
index 24cff77f3..5f6f9ccc2 100644
--- a/xmake/core/tool/toolchain.lua
+++ b/xmake/core/tool/toolchain.lua
@@ -472,7 +472,7 @@ end
-- format: toolchain@package
-- e.g. "clang@llvm-10", "@muslcc", zig
--
-function toolchain._parsename(name)
+function toolchain.parsename(name)
local splitinfo = name:split('@', {plain = true, strict = true})
local toolchain_name = splitinfo[1]
if toolchain_name == "" then
@@ -532,7 +532,7 @@ function toolchain.load(name, opt)
-- get toolchain name and packages
opt = opt or {}
local packages
- name, packages = toolchain._parsename(name)
+ name, packages = toolchain.parsename(name)
opt.packages = opt.packages or packages
-- get cache
@@ -592,7 +592,7 @@ function toolchain.load_withinfo(name, info, opt)
-- get toolchain name and packages
opt = opt or {}
local packages
- name, packages = toolchain._parsename(name)
+ name, packages = toolchain.parsename(name)
opt.packages = opt.packages or packages
-- get cache key