refactor(build): 迁移到MSVC编译系统并添加Vulkan支持
- 移除MinGW平台特定配置,改为MSVC编译器标志 - 添加Vulkan相关依赖和链接库 - 合并多个add_requires调用为单个语句 - 统一所有目标的编译器标志配置
This commit is contained in:
parent
68c3f786f6
commit
23b573d4fe
70
xmake.lua
70
xmake.lua
|
|
@ -2,7 +2,6 @@
|
|||
-- Extra2D - 2D Game Engine
|
||||
-- Build System: Xmake
|
||||
--
|
||||
-- 支持平台: Windows (MinGW)
|
||||
-- 窗口后端: GLFW
|
||||
-- 渲染后端: OpenGL
|
||||
-- ==============================================
|
||||
|
|
@ -29,23 +28,11 @@ option("debug_logs")
|
|||
set_description("Enable debug logging")
|
||||
option_end()
|
||||
|
||||
-- ==============================================
|
||||
-- 平台配置
|
||||
-- ==============================================
|
||||
|
||||
set_plat("mingw")
|
||||
set_arch("x86_64")
|
||||
|
||||
-- ==============================================
|
||||
-- 添加依赖包
|
||||
-- ==============================================
|
||||
|
||||
add_requires("glm")
|
||||
add_requires("nlohmann_json")
|
||||
add_requires("glfw")
|
||||
add_requires("zstd")
|
||||
add_requires("lz4")
|
||||
add_requires("zlib")
|
||||
add_requires("glm", "nlohmann_json", "glfw", "zstd", "lz4", "zlib", "vulkan-headers", "vulkan-loader")
|
||||
|
||||
-- ==============================================
|
||||
-- 引擎库目标
|
||||
|
|
@ -64,28 +51,25 @@ target("extra2d")
|
|||
add_includedirs("Extra2D/include", {public = true})
|
||||
add_includedirs("Extra2D/include/extra2d/platform", {public = true})
|
||||
|
||||
-- Windows (MinGW) 平台配置
|
||||
add_packages("glm", "nlohmann_json", "glfw", "zstd", "lz4", "zlib", {public = true})
|
||||
add_syslinks("winmm", "imm32", "version", "setupapi", {public = true})
|
||||
-- 依赖包
|
||||
add_packages("glm", "nlohmann_json", "glfw", "zstd", "lz4", "zlib", "vulkan-headers", "vulkan-loader", {public = true})
|
||||
|
||||
-- 系统库链接
|
||||
add_syslinks("winmm", "imm32", "version", "setupapi", "vulkan-1", {public = true})
|
||||
|
||||
-- 启用压缩库
|
||||
add_defines("E2D_USE_ZSTD", "E2D_USE_LZ4", "E2D_USE_ZLIB", {public = true})
|
||||
|
||||
-- 编译器标志 (C 和 C++ 共用)
|
||||
add_cxflags("-Wall", "-Wextra", {force = true})
|
||||
add_cxflags("-Wno-unused-variable", "-Wno-unused-function", "-Wno-unused-parameter", {force = true})
|
||||
add_cxflags("-Wno-strict-aliasing", "-Wno-implicit-fallthrough", {force = true})
|
||||
add_cxflags("-Wno-missing-field-initializers", {force = true})
|
||||
|
||||
-- C++ 专用编译器标志
|
||||
add_cxxflags("-Wno-deprecated-copy", "-Wno-class-memaccess", {force = 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_cxxflags("-O0", "-g", {force = true})
|
||||
add_cxflags("/Od", "/Zi", {force = true})
|
||||
else
|
||||
add_defines("NDEBUG", {public = true})
|
||||
add_cxxflags("-O2", {force = true})
|
||||
add_cxflags("/O2", {force = true})
|
||||
end
|
||||
target_end()
|
||||
|
||||
|
|
@ -112,20 +96,20 @@ target("extra2d_tests")
|
|||
-- 依赖引擎库
|
||||
add_deps("extra2d")
|
||||
|
||||
-- 平台配置
|
||||
add_packages("glm", "nlohmann_json", "glfw", "zstd", "lz4", "zlib")
|
||||
add_syslinks("winmm", "imm32", "version", "setupapi")
|
||||
-- 依赖包
|
||||
add_packages("glm", "nlohmann_json", "glfw", "zstd", "lz4", "zlib", "vulkan-headers", "vulkan-loader")
|
||||
add_syslinks("winmm", "imm32", "version", "setupapi", "vulkan-1")
|
||||
|
||||
-- 编译器标志
|
||||
add_cxflags("-Wall", "-Wextra", {force = true})
|
||||
add_cxflags("-Wno-unused-variable", "-Wno-unused-function", "-Wno-unused-parameter", {force = 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")
|
||||
add_cxxflags("-O0", "-g", {force = true})
|
||||
add_cxflags("/Od", "/Zi", {force = true})
|
||||
else
|
||||
add_defines("NDEBUG")
|
||||
add_cxxflags("-O2", {force = true})
|
||||
add_cxflags("/O2", {force = true})
|
||||
end
|
||||
target_end()
|
||||
|
||||
|
|
@ -146,19 +130,19 @@ target("asset_packer")
|
|||
-- 依赖引擎库
|
||||
add_deps("extra2d")
|
||||
|
||||
-- 平台配置
|
||||
add_packages("glm", "nlohmann_json", "glfw", "zstd", "lz4", "zlib")
|
||||
add_syslinks("winmm", "imm32", "version", "setupapi")
|
||||
-- 依赖包
|
||||
add_packages("glm", "nlohmann_json", "glfw", "zstd", "lz4", "zlib", "vulkan-headers", "vulkan-loader")
|
||||
add_syslinks("winmm", "imm32", "version", "setupapi", "vulkan-1")
|
||||
|
||||
-- 编译器标志
|
||||
add_cxflags("-Wall", "-Wextra", {force = true})
|
||||
add_cxflags("-Wno-unused-variable", "-Wno-unused-function", "-Wno-unused-parameter", {force = 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")
|
||||
add_cxxflags("-O0", "-g", {force = true})
|
||||
add_cxflags("/Od", "/Zi", {force = true})
|
||||
else
|
||||
add_defines("NDEBUG")
|
||||
add_cxxflags("-O2", {force = true})
|
||||
add_cxflags("/O2", {force = true})
|
||||
end
|
||||
target_end()
|
||||
|
|
|
|||
Loading…
Reference in New Issue