summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2025-11-12 23:13:32 +0800
committerruki <[email protected]>2025-11-12 23:13:32 +0800
commite8928a086ad3a37fd93ee829fb7cddac2d5d3055 (patch)
treedc2db8f4c877f19ca769c5e59d1908815d50b609
parent0f072dca50a57d8cf8ec10557a48bd8abffd30dd (diff)
disable to inherit links in deps
-rw-r--r--xmake/core/project/target.lua32
1 files changed, 19 insertions, 13 deletions
diff --git a/xmake/core/project/target.lua b/xmake/core/project/target.lua
index 6547a4a6c..40af6a2b4 100644
--- a/xmake/core/project/target.lua
+++ b/xmake/core/project/target.lua
@@ -279,19 +279,25 @@ function _instance:_get_from_deps(name, result_values, result_sources, opt)
local total = #orderdeps
for idx, _ in ipairs(orderdeps) do
local dep = orderdeps[total + 1 - idx]
- local values = dep:get(name, opt)
- if values ~= nil then
- table.insert(result_values, values)
- table.insert(result_sources, "dep::" .. dep:name())
- end
- local dep_values = {}
- local dep_sources = {}
- dep:_get_from_options(name, dep_values, dep_sources, opt)
- dep:_get_from_packages(name, dep_values, dep_sources, opt)
- for idx, values in ipairs(dep_values) do
- local dep_source = dep_sources[idx]
- table.insert(result_values, values)
- table.insert(result_sources, "dep::" .. dep:name() .. "/" .. dep_source)
+ -- We can inherit some configuration from dependencies.
+ -- e.g. disable to inherit links, add_deps("foo", {links = false})
+ -- @see https://github.com/xmake-io/xmake/issues/6925
+ local inherit = self:extraconf("deps", dep:name(), name)
+ if inherit ~= false then
+ local values = dep:get(name, opt)
+ if values ~= nil then
+ table.insert(result_values, values)
+ table.insert(result_sources, "dep::" .. dep:name())
+ end
+ local dep_values = {}
+ local dep_sources = {}
+ dep:_get_from_options(name, dep_values, dep_sources, opt)
+ dep:_get_from_packages(name, dep_values, dep_sources, opt)
+ for idx, values in ipairs(dep_values) do
+ local dep_source = dep_sources[idx]
+ table.insert(result_values, values)
+ table.insert(result_sources, "dep::" .. dep:name() .. "/" .. dep_source)
+ end
end
end
end