Files
Godot-Xmake/xmake/target.lua
2024-08-11 13:58:25 +02:00

65 lines
1.8 KiB
Lua

-- more on https://xmake.io/#/manual/project_target
target(PROJECT_NAME)
set_kind("shared")
set_default(true)
add_packages("godotcpp4")
-- more on https://xmake.io/#/manual/project_target?id=targetadd_files
add_files("../src/**.cpp")
-- change the output name
set_basename(PROJECT_NAME .. ".$(os)_$(mode)_$(arch)")
-- libraries will saved in os level folder
set_targetdir("../" .. GODOT_PROJECT_FOLDER .. "/lib")
-- where to save .obj files
-- we use a seprate folder, so that it will not populate the targer folder
set_objectdir("../build/.objs")
-- where .d files are saved
set_dependir("../build/.deps")
-- set_optimize("smallest")
-- handlers
-- before_run(function (target) end)
-- after_run(function (target) end)
-- before_build(function (target) end)
-- after_build(function (target) end)
-- before_clean(function (target) end)
-- after_clean(function (target) end)
on_run(
(function(godot_project_folder)
return function(target)
os.execv("echo", {"godot --path", godot_project_folder})
os.exec("godot --path " .. godot_project_folder)
end
end)(GODOT_PROJECT_FOLDER)
)
on_package(function(target)
import("core.base.task")
target_platform = "Unknown"
if is_plat("windows") then
target_platform = "Windows Desktop"
elseif is_plat("macosx") then
target_platform = "macOS"
elseif is_plat("linux") then
target_platform = "Linux/X11"
elseif is_plat("android") then
target_platform = "Android"
end
task.run("export", {}, target_platform)
end)
after_clean(function (target)
import("core.base.task")
task.run("clean-publish")
end)