Extra2D/xmake.lua

97 lines
2.4 KiB
Lua

-- ==============================================
-- Extra2D - 2D Game Engine
-- Build System: Xmake
-- ==============================================
-- 项目元信息
set_project("Extra2D")
set_version("1.2.0")
set_license("MIT")
-- 语言和编码设置
set_languages("c++17")
set_encodings("utf-8")
-- 构建模式
add_rules("mode.debug", "mode.release")
-- ==============================================
-- 构建选项
-- ==============================================
option("debug_logs")
set_default(false)
set_showmenu(true)
set_description("Enable debug logging")
option_end()
-- ==============================================
-- 添加依赖包
-- ==============================================
add_requires("glm", "nlohmann_json")
-- ==============================================
-- 引擎库目标
-- ==============================================
target("extra2d")
set_kind("static")
-- 引擎核心源文件
add_files("Extra2D/src/**.cpp")
-- 头文件路径
add_includedirs("Extra2D/include", {public = true})
-- 依赖包
add_packages("glm", "nlohmann_json", {public = true})
-- 编译器标志 (MSVC)
add_cxflags("/W4", {force = true})
add_cxflags("/wd4100", "/wd4189", "/wd4458", "/wd4324", "/wd4310", "/wd4505", "/wd4702", {force = true})
if is_mode("debug") then
add_defines("_DEBUG", {public = true})
add_cxflags("/Od", "/Zi", {force = true})
else
add_defines("NDEBUG", {public = true})
add_cxflags("/O2", {force = true})
end
target_end()
-- ==============================================
-- 测试目标
-- ==============================================
target("extra2d_tests")
set_kind("binary")
set_default(false)
-- 测试源文件
add_files("Tests/test_framework.cpp")
add_files("Tests/test_main.cpp")
-- 头文件路径
add_includedirs("Extra2D/include", {public = true})
add_includedirs("Tests")
-- 依赖引擎库
add_deps("extra2d")
-- 依赖包
add_packages("glm", "nlohmann_json")
-- 编译器标志 (MSVC)
add_cxflags("/W4", {force = true})
add_cxflags("/wd4100", "/wd4189", "/wd4458", "/wd4324", "/wd4310", "/wd4505", "/wd4702", {force = true})
if is_mode("debug") then
add_defines("_DEBUG")
add_cxflags("/Od", "/Zi", {force = true})
else
add_defines("NDEBUG")
add_cxflags("/O2", {force = true})
end
target_end()