rule("engine.tool") after_build(function (target) local tooldir = path.join(os.projectdir(), "tools", target:name()) if not os.isdir(tooldir) then os.mkdir(tooldir) end local exefile = target:targetfile() os.cp(exefile, path.join(tooldir, path.filename(exefile))) end) rule("engine.api") on_load(function (target) local api = string.upper(target:name()) .. "_API" target:add("defines", api.."=__declspec(dllimport)", {interface=true}) target:add("defines", api.."=__declspec(dllexport)", {public=false}) end)