diff options
Diffstat (limited to 'xmake.lua')
| -rw-r--r-- | xmake.lua | 50 |
1 files changed, 50 insertions, 0 deletions
@@ -136,3 +136,53 @@ includes("zenstore", "zenstore-test") includes("zenutil") includes("zenserver", "zenserver-test") includes("zen") + +task("bundle") + on_run(function() + import("detect.tools.find_zip") + import("detect.tools.find_7z") + + -- copy files + local dirs = { + binaries = "./build/windows/x64/release", + bundles = "./build/bundles", + bundle = "./build/bundles/zenzerver-win64" + } + + local files = { + dirs.binaries .. "/zenserver.exe", + dirs.binaries .. "/zenserver.pdb", + "./vcpkg_installed/x64-windows-static/tools/sentry-native/crashpad_handler.exe" + } + + os.mkdir(dirs.bundles) + os.mkdir(dirs.bundle) + + for _,file in ipairs(files) do + printf("copy '%s' -> '%s'\n", file, dirs.bundle) + os.cp(file, dirs.bundle) + end + + -- create archive + local bundle_name = "zenserver-win64.zip" + + local zip_cmd = find_7z() + assert(zip_cmd) + + local zip_args = {} + table.insert(zip_args, "a") + table.insert(zip_args, dirs.bundles .. "/" .. bundle_name) + table.insert(zip_args, dirs.bundle .. "/*.*") + + printf("creating bundle '%s'...", dirs.bundles .. "/" .. bundle_name) + os.runv(zip_cmd, zip_args) + os.rm(dirs.bundle) + + printf(" Ok!") + end) + + set_menu { + usage = "xmake bundle", + description = "Create zip bundle from binaries", + options = {} + } |