diff options
| author | ruki <[email protected]> | 2022-03-26 16:11:36 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2022-03-26 16:11:36 +0800 |
| commit | ac16d2aa9c2c84009cc55a4b27fbbc70fd398c1b (patch) | |
| tree | 09cd784d83038cb34a2eb57589d3c8118bb53de1 | |
| parent | b87a93d2f1134cd2668c806c4452700ac720b18b (diff) | |
add target/package:toolchain
| -rw-r--r-- | xmake/core/package/package.lua | 13 | ||||
| -rw-r--r-- | xmake/core/project/target.lua | 13 |
2 files changed, 26 insertions, 0 deletions
diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua index 239bbb928..5c55850bb 100644 --- a/xmake/core/package/package.lua +++ b/xmake/core/package/package.lua @@ -854,6 +854,19 @@ function _instance:build_envs(lazy_loading) return build_envs end +-- get the given toolchain +function _instance:toolchain(name) + local toolchains_map = self._TOOLCHAINS_MAP + if toolchains_map == nil then + toolchains_map = {} + for _, toolchain_inst in ipairs(self:toolchains()) do + toolchains_map[toolchain_inst:name()] = toolchain_inst + end + self._TOOLCHAINS_MAP = toolchains_map + end + return toolchains_map[name] +end + -- get toolchains function _instance:toolchains() local toolchains = self._TOOLCHAINS diff --git a/xmake/core/project/target.lua b/xmake/core/project/target.lua index 05e4a1476..78b620165 100644 --- a/xmake/core/project/target.lua +++ b/xmake/core/project/target.lua @@ -1921,6 +1921,19 @@ function _instance:pcoutputfile(langkind) end end +-- get the given toolchain +function _instance:toolchain(name) + local toolchains_map = self:_memcache():get("toolchains_map") + if toolchains_map == nil then + toolchains_map = {} + for _, toolchain_inst in ipairs(self:toolchains()) do + toolchains_map[toolchain_inst:name()] = toolchain_inst + end + self:_memcache():set("toolchains_map", toolchains_map) + end + return toolchains_map[name] +end + -- get the toolchains function _instance:toolchains() local toolchains = self:_memcache():get("toolchains") |
