diff options
| author | ruki <[email protected]> | 2024-07-25 00:54:13 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2024-07-25 00:54:13 +0800 |
| commit | c7c412f6458f5aceeb02e9bfc292dc7aac0852d3 (patch) | |
| tree | 90fc1076e7dd5a2971d7033bee28825a80e59477 /tests/projects/other/autogen/autogen_binary_module/xmake.lua | |
| parent | 039cd576af844dc146b7517160648765b90b81b1 (diff) | |
move autogen tests
Diffstat (limited to 'tests/projects/other/autogen/autogen_binary_module/xmake.lua')
| -rw-r--r-- | tests/projects/other/autogen/autogen_binary_module/xmake.lua | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/projects/other/autogen/autogen_binary_module/xmake.lua b/tests/projects/other/autogen/autogen_binary_module/xmake.lua new file mode 100644 index 000000000..b1617e543 --- /dev/null +++ b/tests/projects/other/autogen/autogen_binary_module/xmake.lua @@ -0,0 +1,32 @@ +add_rules("mode.debug", "mode.release") + +add_moduledirs("modules") + +rule("autogen") + set_extensions(".in") + before_build_file(function (target, sourcefile, opt) + import("utils.progress") + import("core.project.depend") + import("core.tool.compiler") + import("autogen.foo", {always_build = true}) + + local sourcefile_cx = path.join(target:autogendir(), "rules", "autogen", path.basename(sourcefile) .. ".cpp") + local objectfile = target:objectfile(sourcefile_cx) + table.insert(target:objectfiles(), objectfile) + + depend.on_changed(function () + progress.show(opt.progress, "${color.build.object}compiling.autogen %s", sourcefile) + os.mkdir(path.directory(sourcefile_cx)) + foo.generate(sourcefile, sourcefile_cx) + compiler.compile(sourcefile_cx, objectfile, {target = target}) + end, {dependfile = target:dependfile(objectfile), + files = sourcefile, + changed = target:is_rebuilt()}) + end) + +target("test") + set_kind("binary") + add_rules("autogen") + add_files("src/main.cpp") + add_files("src/*.in") + |
