45 lines
1.1 KiB
Lua
45 lines
1.1 KiB
Lua
add_rules("mode.debug", "mode.release")
|
|
|
|
add_repositories("persson-repo https://git.ale-pri.com/Persson-dev/xmake-repo.git")
|
|
|
|
add_requires("imgui[sdl3,opengl3] 1.92.1", "splib 2.3.2", "zlib", "glew", "fpm", "enet6")
|
|
|
|
set_languages("c++20")
|
|
|
|
set_warnings("all")
|
|
|
|
if is_mode("release") then
|
|
set_warnings("all", "error")
|
|
else
|
|
set_policy("build.sanitizer.address", true)
|
|
set_policy("build.sanitizer.leak", true)
|
|
set_policy("build.sanitizer.undefined", true)
|
|
end
|
|
|
|
includes("lib/*.lua")
|
|
|
|
target("Tower-Defense2")
|
|
add_includedirs("include", {public = true})
|
|
set_kind("binary")
|
|
add_files("src/**.cpp")
|
|
add_packages("libsdl3", "imgui", "glew", "splib", "zlib", "fpm", "enet6", {public = true})
|
|
set_rundir(".")
|
|
add_defines("TD_GL_LOADER_GLEW")
|
|
add_deps("imgui-node-editor")
|
|
|
|
|
|
-- Tests
|
|
for _, file in ipairs(os.files("test/**.cpp")) do
|
|
local name = path.basename(file)
|
|
target(name)
|
|
set_kind("binary")
|
|
|
|
add_files(file)
|
|
|
|
set_default(false)
|
|
|
|
add_deps("Tower-Defense2")
|
|
|
|
add_tests("compile_and_run")
|
|
end
|