From 1d24aa52a9b03ef79502c8fb061e003d05e23923 Mon Sep 17 00:00:00 2001 From: Saikari Date: Thu, 29 Jan 2026 08:53:54 +0300 Subject: feat: add support for package link directories, links, and system links in dependency flags --- xmake/rules/nim/build/target.lua | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) 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) -- cgit v1.3.1