summaryrefslogtreecommitdiff
path: root/xmake/core
diff options
context:
space:
mode:
authorruki <[email protected]>2024-09-10 23:16:31 +0800
committerGitHub <[email protected]>2024-09-10 23:16:31 +0800
commit6aa2fa8a103ab33412cef65ce2afdff99e71f06b (patch)
treecbb4153f42b9351dbebb98c88aa52c85942219b0 /xmake/core
parent9bb96d5156c7e1766d761589f927eb30d5229f84 (diff)
parent51bee34b88b58aff9e5600c99fc979fa694037f3 (diff)
Merge pull request #5594 from xmake-io/fetch
Improve fetch package
Diffstat (limited to 'xmake/core')
-rw-r--r--xmake/core/package/package.lua2
-rw-r--r--xmake/core/platform/platform.lua3
-rw-r--r--xmake/core/tool/toolchain.lua11
3 files changed, 10 insertions, 6 deletions
diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua
index 5920dacd4..00ae72768 100644
--- a/xmake/core/package/package.lua
+++ b/xmake/core/package/package.lua
@@ -1846,6 +1846,8 @@ function _instance:_fetch_library(opt)
components_base.sysincludedirs = nil
end
end
+ local package_utils = sandbox_module.import("private.utils.package", {anonymous = true})
+ package_utils.fetchinfo_set_concat(fetchinfo)
end
if fetchinfo and option.get("verbose") then
local reponame = self:repo() and self:repo():name() or ""
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