44 lines
1.8 KiB
Lua
44 lines
1.8 KiB
Lua
local engine_root = os.scriptdir()
|
|
|
|
add_moduledirs(path.join(engine_root, "modules"))
|
|
|
|
function add_frostbite2d_target()
|
|
target("Frostbite2D")
|
|
set_kind("static")
|
|
add_files(path.join(engine_root, "Frostbite2D/src/**.cpp"))
|
|
add_files(path.join(engine_root, "Frostbite2D/src/**.c"))
|
|
add_includedirs(path.join(engine_root, "Frostbite2D/include"), {public = true})
|
|
add_includedirs(path.join(engine_root, "Frostbite2D/third_party/quickjspp"), {public = true})
|
|
|
|
local quickjs_dir = path.join(engine_root, "Frostbite2D/third_party/quickjspp/quickjs")
|
|
local quickjs_defines = {
|
|
"CONFIG_VERSION=\"2024-01-13\"",
|
|
"CONFIG_BIGNUM",
|
|
"_GNU_SOURCE"
|
|
}
|
|
if is_plat("mingw") or is_plat("windows") then
|
|
table.insert(quickjs_defines, "__USE_MINGW_ANSI_STDIO")
|
|
end
|
|
add_files(path.join(quickjs_dir, "quickjs.c"), {defines = quickjs_defines})
|
|
add_files(path.join(quickjs_dir, "cutils.c"), {defines = quickjs_defines})
|
|
add_files(path.join(quickjs_dir, "libbf.c"), {defines = quickjs_defines})
|
|
add_files(path.join(quickjs_dir, "libregexp.c"), {defines = quickjs_defines})
|
|
add_files(path.join(quickjs_dir, "libunicode.c"), {defines = quickjs_defines})
|
|
|
|
add_packages("libsdl2", {public = true})
|
|
add_packages("libsdl2_image", {public = true})
|
|
add_packages("libsdl2_mixer", {public = true})
|
|
add_packages("libsdl2_ttf", {public = true})
|
|
add_packages("glm", {public = true})
|
|
add_packages("zlib", {public = true})
|
|
|
|
if is_plat("mingw") or is_plat("windows") then
|
|
add_syslinks("imm32", {public = true})
|
|
elseif is_plat("linux") then
|
|
add_syslinks("m", {public = true})
|
|
end
|
|
target_end()
|
|
end
|
|
|
|
add_frostbite2d_target()
|