summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaikari <[email protected]>2026-01-29 08:53:54 +0300
committerSaikari <[email protected]>2026-01-29 08:53:54 +0300
commit1d24aa52a9b03ef79502c8fb061e003d05e23923 (patch)
tree642ac05d588a75f0890f4e0d8fa0c9c1de420bc8
parent27acec28d45f10907646f10337cc20986c436144 (diff)
feat: add support for package link directories, links, and system links in dependency flags
-rw-r--r--xmake/rules/nim/build/target.lua27
1 files changed, 27 insertions, 0 deletions
diff --git a/xmake/rules/nim/build/target.lua b/xmake/rules/nim/build/target.lua
index 4c9fdad67..096280aaf 100644
--- a/xmake/rules/nim/build/target.lua
+++ b/xmake/rules/nim/build/target.lua
@@ -88,6 +88,33 @@ function _add_dependency_flags(target, compinst, compflags)
end
end
end
+ local pkg_linkdirs = pkg:get("linkdirs")
+ if pkg_linkdirs then
+ for _, dir in ipairs(pkg_linkdirs) do
+ local linkflags = compinst:_tool():nf_linkdir(dir)
+ if linkflags then
+ table.join2(compflags, linkflags)
+ end
+ end
+ end
+ local pkg_links = pkg:get("links")
+ if pkg_links then
+ for _, link in ipairs(pkg_links) do
+ local linkflags = compinst:_tool():nf_link(link)
+ if linkflags then
+ table.join2(compflags, {linkflags})
+ end
+ end
+ end
+ local pkg_syslinks = pkg:get("syslinks")
+ if pkg_syslinks then
+ for _, link in ipairs(pkg_syslinks) do
+ local linkflags = compinst:_tool():nf_syslink(link)
+ if linkflags then
+ table.join2(compflags, {linkflags})
+ end
+ end
+ end
end
-- add rpathdirs to linker flags (for shared lib support)