summaryrefslogtreecommitdiff
path: root/xmake/rules
diff options
context:
space:
mode:
authorruki <[email protected]>2020-07-24 22:36:33 +0800
committerruki <[email protected]>2020-07-24 22:36:33 +0800
commit6b89d8b1edc849f8324dae490e635dca080ac473 (patch)
tree51f863f80ffbc70d7f8ac3d9b8489d340abdedcd /xmake/rules
parent3ad0524f1c963c974741285b633157f3f28718db (diff)
inherit go modules
Diffstat (limited to 'xmake/rules')
-rw-r--r--xmake/rules/go/xmake.lua5
-rw-r--r--xmake/rules/utils/inherit_links/inherit_links.lua4
2 files changed, 9 insertions, 0 deletions
diff --git a/xmake/rules/go/xmake.lua b/xmake/rules/go/xmake.lua
index 8fa23e9dd..874a60ae1 100644
--- a/xmake/rules/go/xmake.lua
+++ b/xmake/rules/go/xmake.lua
@@ -28,4 +28,9 @@ rule("go.build")
on_build_files("build.object")
rule("go")
+
+ -- add build rules
add_deps("go.build")
+
+ -- inherit links and linkdirs of all dependent targets by default
+ add_deps("utils.inherit.links")
diff --git a/xmake/rules/utils/inherit_links/inherit_links.lua b/xmake/rules/utils/inherit_links/inherit_links.lua
index ba97e4380..d55c32227 100644
--- a/xmake/rules/utils/inherit_links/inherit_links.lua
+++ b/xmake/rules/utils/inherit_links/inherit_links.lua
@@ -40,6 +40,10 @@ function main(target)
local targetfile = target:targetfile()
target:add("links", target:basename(), {interface = true})
target:add("linkdirs", path.directory(targetfile), {interface = true})
+ if target:rule("go") then
+ -- we need add includedirs to support import modules for golang
+ target:add("includedirs", path.directory(targetfile), {interface = true})
+ end
for _, name in ipairs({"frameworkdirs", "frameworks", "linkdirs", "links", "syslinks"}) do
local values = _get_values_from_target(target, name)
if values and #values > 0 then