Frostbite2D/platform/linux.lua

55 lines
2.0 KiB
Lua

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_files(path.join(os.projectdir(), "Game/src/**.cpp"))
add_includedirs(path.join(os.projectdir(), "Game/include"))
add_packages("libsdl2")
add_packages("glm")
-- 复制着色器文件到输出目录
after_build(function (target)
-- 复制 shaders 目录
local shaders_dir = path.join(os.projectdir(), "Game/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()