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()