add_requires("libsdl2", {configs = {shared = true,wayland = true}}) add_requires("glm") target("Frostbite2D") set_kind("binary") add_files(path.join(os.projectdir(), "Frostbite2D/src/**.cpp")) add_files(path.join(os.projectdir(), "Frostbite2D/src/**.c")) add_includedirs(path.join(os.projectdir(), "Frostbite2D/include")) add_packages("libsdl2") add_packages("glm") -- 复制着色器文件到输出目录 after_build(function (target) -- 复制 shaders 目录 local shaders_dir = path.join(os.projectdir(), "shaders") local output_dir = target:targetdir() local target_shaders_dir = path.join(output_dir, "shaders") if os.isdir(shaders_dir) then -- 确保目标目录存在 if not os.isdir(target_shaders_dir) then os.mkdir(target_shaders_dir) end -- 复制所有着色器文件 for _, file in ipairs(os.files(path.join(shaders_dir, "*.*"))) do local filename = path.filename(file) local target_file = path.join(target_shaders_dir, filename) os.cp(file, target_file) end end -- 复制图标文件到输出目录 local icons_dir = path.join(os.projectdir(), "assets/icons") local target_icons_dir = path.join(output_dir, "assets/icons") if os.isdir(icons_dir) then if not os.isdir(target_icons_dir) then os.mkdir(target_icons_dir) end for _, file in ipairs(os.files(path.join(icons_dir, "*.*"))) do local filename = path.filename(file) local target_file = path.join(target_icons_dir, filename) os.cp(file, target_file) print("Copy icon: " .. filename) end end end) target_end()