aboutsummaryrefslogtreecommitdiff
path: root/xmake.lua
diff options
context:
space:
mode:
authorMartin Ridgers <[email protected]>2021-11-25 11:07:49 +0100
committerMartin Ridgers <[email protected]>2021-11-25 11:07:49 +0100
commit594501a96a4b64d3832d844909172a33fa14e7e2 (patch)
tree4e48156c975064f5edf32202e02e18b720f503b9 /xmake.lua
parentTests for building ArgV for a fork-exec (diff)
parentMerge branch 'main' of https://github.com/EpicGames/zen (diff)
downloadzen-594501a96a4b64d3832d844909172a33fa14e7e2.tar.xz
zen-594501a96a4b64d3832d844909172a33fa14e7e2.zip
Merged main
Diffstat (limited to 'xmake.lua')
-rw-r--r--xmake.lua50
1 files changed, 50 insertions, 0 deletions
diff --git a/xmake.lua b/xmake.lua
index d8d8fddf6..c1aef5f85 100644
--- a/xmake.lua
+++ b/xmake.lua
@@ -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 = {}
+ }