zengine/engine/modules/xmake.lua

60 lines
1.8 KiB
Lua
Raw Normal View History

2024-07-20 18:04:19 +08:00
function header_component(name, owner, opt)
target(owner)
2024-08-03 17:56:38 +08:00
add_deps(name)
2024-07-20 18:04:19 +08:00
target_end()
target(name)
set_kind("headeronly")
set_group("Engine/"..owner.."__comp")
2024-08-03 17:56:38 +08:00
add_rules("engine.api")
2024-07-20 18:04:19 +08:00
add_includedirs("include", {public = true})
2024-10-22 21:52:43 +08:00
add_deps("singleton")
2024-07-20 18:04:19 +08:00
end
function static_component(name, owner, opt)
target(owner)
add_deps(name)
2024-10-25 09:45:49 +08:00
add_includedirs("impl")
add_headerfiles("impl/*.inl")
2024-07-20 18:04:19 +08:00
target_end()
target(name)
2024-08-06 16:08:11 +08:00
set_kind("static")
2024-07-20 18:04:19 +08:00
set_group("Engine/"..owner.."__comp")
add_rules("engine.api")
2024-08-03 17:56:38 +08:00
add_includedirs("include", {public = true})
2024-10-22 21:52:43 +08:00
add_deps("singleton")
2024-07-20 18:04:19 +08:00
end
2024-07-31 10:48:28 +08:00
function shared_module(name, owner, opt)
2024-07-20 18:04:19 +08:00
target(name)
2024-10-23 15:24:39 +08:00
add_defines(string.upper(name).."_ROOT="..os.curdir():gsub("\\", "\\\\"),{public = false})
2024-07-20 18:04:19 +08:00
set_kind("shared")
2024-07-31 10:48:28 +08:00
set_group("Engine/"..owner.."__dyn")
add_rules("engine.api")
2024-07-20 18:04:19 +08:00
add_includedirs("include", {public = true})
2024-12-23 17:44:32 +08:00
--add_rules("engine.plugin", {file = opt and opt.file or "include/" .. name .. "/module.h"})
2024-07-31 10:48:28 +08:00
end
function add_dependency(...)
add_deps(...)
local args = {...}
local opt = args[#args]
if type(opt) ~= "table" or not opt.public then
return
end
for _,v in ipairs(args) do
if v ~= opt then
add_values("module.public_dependencies", v)
end
end
end
function game_instance(name, opt)
target(name)
2024-10-23 15:24:39 +08:00
set_rundir(".")
2024-08-17 18:01:21 +08:00
set_kind("binary")
2024-07-31 10:48:28 +08:00
set_group("Games")
add_rules("engine.api")
2024-12-23 17:44:32 +08:00
--add_rules("engine.plugin", {file = opt and opt.file or "src/" .. name .. ".h"})
2024-08-17 18:01:21 +08:00
add_defines("SDL_MAIN_HANDLED")
2024-07-31 10:48:28 +08:00
target(name .. "-editor")
2024-08-24 18:01:53 +08:00
set_kind("binary")
2024-07-31 10:48:28 +08:00
set_group("Games")
2024-08-24 18:01:53 +08:00
--add_deps(name)
2024-07-20 18:04:19 +08:00
end
includes("**/xmake.lua")