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