includes("*/xmake.lua") includes("engine/dep/xmake.lua") set_targetdir("$(projectdir)/src") target("idk") set_kind("static") add_deps("idk_dep") add_packages("assimp", {public = true}) add_links("ole32", {public = true}) add_defines("_ENABLE_EXTENDED_ALIGNED_STORAGE", {public = true}) add_includedirs("engine", "engine/idk",{public = true}) add_files("engine/idk/*.cpp","engine/idk/**/*.cpp|phys/PhysicsSystemNoMT.cpp") add_headerfiles("engine/idk/*.h","engine/idk/**/*.h") add_headerfiles("engine/idk/*.inl","engine/idk/**/*.inl") target("asset_compiler") set_kind("binary") add_deps("idk") add_packages("vulkansdk","freetype") add_syslinks("Shell32") add_includedirs("engine", "engine/asset_compiler", {public = true}) add_files("engine/asset_compiler/*.cpp") add_headerfiles("engine/asset_compiler/*.h") target("editor") set_kind("static") set_languages("cxx20") add_deps("idk","vkn", "opengl","editorstatic", {public = true}) add_includedirs("engine", "engine/editor", {public = true}) add_files("engine/editor/*.cpp","engine/editor/**.cpp") add_headerfiles("engine/editor/*.h","engine/editor/**.h") target("editorstatic") set_kind("static") add_deps("idk") add_packages("imgui", "glad","vulkansdk", {public = true}) add_includedirs("engine", "engine/editorstatic", {public = true}) add_files("engine/editorstatic/*.cpp","engine/editorstatic/**.cpp") add_headerfiles("engine/editorstatic/*.h","engine/editorstatic/**.h") add_headerfiles("engine/editorstatic/*.inl","engine/editorstatic/**.inl") target("game") set_kind("binary") add_deps("idk", "win32", "vkn", "editor", "asset_compiler") add_includedirs("engine", "engine/game", {public = true}) add_files("engine/game/*.cpp") add_headerfiles("engine/game/*.h") target("launcher") set_kind("binary") add_deps("editor", "win32") add_syslinks("Xinput") add_defines([[TEST_DATA_PATH=R"($(ProjectDir)test_data)"]]) add_defines([[TEST_BIN_DIR=R"($(OutDir))"]]) add_includedirs("engine", "engine/launcher", {public = true}) add_files("engine/launcher/*.cpp") add_files("engine/game/*.cpp|editor_main.cpp|AddSystems.cpp") add_headerfiles("engine/launcher/*.h") target("opengl") set_kind("static") add_deps("idk","win32") add_packages("glfw","stb", {public = true}) add_includedirs("engine", "engine/opengl", {public = true}) add_files("engine/opengl/*.c") add_files("engine/opengl/*.cpp","engine/opengl/**.cpp") add_headerfiles("engine/opengl/*.h","engine/opengl/**.h") target("vkn") set_kind("static") add_deps("idk","win32") add_packages("vulkansdk","stb", {public = true}) add_includedirs("engine", "engine/vkn", {public = true}) add_files("engine/vkn/*.cpp","engine/vkn/**.cpp") add_headerfiles("engine/vkn/*.h","engine/vkn/**.h") add_headerfiles("engine/vkn/*.inl","engine/vkn/**.inl") target("win32") set_kind("static") add_syslinks("Shell32", "Comdlg32", {public = true}) add_defines("UNICODE", {public = true}) add_includedirs("engine/idk") add_includedirs("engine/win32", {public = true}) add_files("engine/win32/*.cpp") add_headerfiles("engine/win32/*.h")