From bab4212db4392e7ff4b2623db07fa3ced16ffb79 Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 31 Aug 2021 23:03:45 +0800 Subject: gen header file for vala --- xmake/rules/vala/xmake.lua | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) 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) -- cgit v1.3.1