summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2024-09-10 23:27:00 +0800
committerruki <[email protected]>2024-09-10 23:27:00 +0800
commit54d804cf088f2b221b27a40f790a43e89d96dc04 (patch)
treefaa35a40391530cbdef9ad897d8d8cf041779014
parent596a83774dd9940446ff37436cfad2ab9841919f (diff)
fix formats
-rw-r--r--xmake/core/platform/platform.lua3
-rw-r--r--xmake/core/tool/toolchain.lua11
2 files changed, 8 insertions, 6 deletions
diff --git a/xmake/core/platform/platform.lua b/xmake/core/platform/platform.lua
index 1b2ba19e3..913d44691 100644
--- a/xmake/core/platform/platform.lua
+++ b/xmake/core/platform/platform.lua
@@ -287,7 +287,8 @@ function _instance:formats()
local formats = self._FORMATS
if not formats then
for _, toolchain_inst in ipairs(self:toolchains()) do
- formats = toolchain_inst:get("formats")
+ -- @note we can only get formats from set_formats in toolchain description.
+ formats = toolchain_inst:get("formats", {load = false})
if formats then
break
end
diff --git a/xmake/core/tool/toolchain.lua b/xmake/core/tool/toolchain.lua
index b61852d42..ce6b834a6 100644
--- a/xmake/core/tool/toolchain.lua
+++ b/xmake/core/tool/toolchain.lua
@@ -136,7 +136,8 @@ function _instance:add(name, ...)
end
-- get the toolchain configuration
-function _instance:get(name)
+function _instance:get(name, opt)
+ opt = opt or {}
-- attempt to get the static configure value
local value = self:info():get(name)
@@ -145,10 +146,10 @@ function _instance:get(name)
end
-- lazy loading toolchain
- self:_load()
-
- -- get other platform info
- return self:info():get(name)
+ if opt.load ~= false then
+ self:_load()
+ return self:info():get(name)
+ end
end
-- get toolchain kind