summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2021-08-31 23:03:45 +0800
committerruki <[email protected]>2021-08-31 23:03:45 +0800
commitbab4212db4392e7ff4b2623db07fa3ced16ffb79 (patch)
treeb9b32ad6b597a0076c5b0b121868138fb33f4425
parent365de804eac5a08518de1a8df0078339799b520d (diff)
gen header file for valarequireslock
-rw-r--r--xmake/rules/vala/xmake.lua21
1 files changed, 21 insertions, 0 deletions
diff --git a/xmake/rules/vala/xmake.lua b/xmake/rules/vala/xmake.lua
index a0d5775d8..058f68462 100644
--- a/xmake/rules/vala/xmake.lua
+++ b/xmake/rules/vala/xmake.lua
@@ -41,6 +41,22 @@ rule("vala.build")
end
target:data_set("vala.vapifile", vapifile)
end
+
+ -- get header file
+ local headerfile = target:data("vala.headerfile")
+ if not headerfile then
+ local headername = target:values("vala.header")
+ if headername then
+ headerfile = path.join(target:targetdir(), headername)
+ else
+ headerfile = path.join(target:targetdir(), target:name() .. ".h")
+ end
+ target:data_set("vala.headerfile", headerfile)
+ end
+ if headerfile then
+ target:add("headerfiles", headerfile)
+ target:add("sysincludedirs", path.directory(headerfile), {public = true})
+ end
end)
before_buildcmd_file(function (target, batchcmds, sourcefile_vala, opt)
@@ -81,6 +97,11 @@ rule("vala.build")
if vapifile then
table.insert(argv, "--vapi=" .. vapifile)
end
+ local headerfile = target:data("vala.headerfile")
+ if headerfile then
+ table.insert(argv, "-H")
+ table.insert(argv, headerfile)
+ end
end
table.insert(argv, sourcefile_vala)
batchcmds:vrunv(valac.program, argv)