summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2024-03-08 15:56:05 +0800
committerGitHub <[email protected]>2024-03-08 15:56:05 +0800
commitb8c4fd3d1cc5bc787d7f85196f31f191d2dbf6e5 (patch)
tree4e51b057ded07c2a088a97f91c9151ebe91ccdfb
parent80946125631b9a3878f6a37ce58a3442a8d3aa82 (diff)
parente5240ba606d63aec774edf1fbe9a920a94e3a50a (diff)
Merge pull request #4811 from xmake-io/extra
improve to export ldflags #4777
-rw-r--r--xmake/rules/utils/inherit_links/inherit_links.lua15
1 files changed, 12 insertions, 3 deletions
diff --git a/xmake/rules/utils/inherit_links/inherit_links.lua b/xmake/rules/utils/inherit_links/inherit_links.lua
index bc1472b8e..2bfd3076f 100644
--- a/xmake/rules/utils/inherit_links/inherit_links.lua
+++ b/xmake/rules/utils/inherit_links/inherit_links.lua
@@ -43,10 +43,18 @@ function _add_export_value(target, name, value)
end
end
end
+ local extraconf = target:extraconf(name, value)
if has_private then
- target:add(name, value, {public = true})
+ target:add(name, value, table.join(extraconf or {}, {public = true}))
else
- target:add(name, value, {interface = true})
+ target:add(name, value, table.join(extraconf or {}, {interface = true}))
+ end
+end
+
+-- export values as public/interface in target
+function _add_export_values(target, name, values)
+ for _, value in ipairs(values) do
+ _add_export_value(target, name, value)
end
end
@@ -89,7 +97,7 @@ function main(target)
for _, name in ipairs({"rpathdirs", "frameworkdirs", "frameworks", "linkdirs", "links", "syslinks", "ldflags", "shflags"}) do
local values = _get_values_from_target(target, name)
if values and #values > 0 then
- target:add(name, values, {public = true})
+ _add_export_values(target, name, values)
end
end
end
@@ -111,3 +119,4 @@ function main(target)
end
end
end
+