diff options
| author | ruki <[email protected]> | 2025-11-12 23:13:32 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2025-11-12 23:13:32 +0800 |
| commit | e8928a086ad3a37fd93ee829fb7cddac2d5d3055 (patch) | |
| tree | dc2db8f4c877f19ca769c5e59d1908815d50b609 | |
| parent | 0f072dca50a57d8cf8ec10557a48bd8abffd30dd (diff) | |
disable to inherit links in deps
| -rw-r--r-- | xmake/core/project/target.lua | 32 |
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 |
