includes("*/xmake.lua") includes("engine/dep/xmake.lua") target("idk") set_kind("static") add_deps("idk_dep") add_packages("assimp","freetype","glad","glslang","spirv-cross","stb", {public = true}) add_links("ole32") add_defines("_ENABLE_EXTENDED_ALIGNED_STORAGE") add_includedirs("engine", "engine/idk",{public = true}) add_files("engine/idk/*.cpp","engine/idk/**/*.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") add_syslinks("Shell32") add_defines([[TEST_DATA_PATH=R"($(ProjectDir)test_data)"]]) add_defines([[TEST_BIN_DIR=R"($(OutDir))"]]) add_includedirs("engine", "engine/asset_compiler", {public = true}) add_files("engine/asset_compiler/*.cpp") add_headerfiles("engine/asset_compiler/*.h") target("editor") set_kind("binary") add_deps("idk","vkn","editorstatic") add_packages("vulkansdk") add_syslinks("Shell32") add_defines([[TEST_DATA_PATH=R"($(ProjectDir)test_data)"]]) add_defines([[TEST_BIN_DIR=R"($(OutDir))"]]) 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("vulkansdk") add_syslinks("Shell32") add_defines([[TEST_DATA_PATH=R"($(ProjectDir)test_data)"]]) add_defines([[TEST_BIN_DIR=R"($(OutDir))"]]) 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("enginestatic") set_kind("static") add_deps("idk") add_packages("vulkansdk") add_syslinks("Shell32") add_defines([[TEST_DATA_PATH=R"($(ProjectDir)test_data)"]]) add_defines([[TEST_BIN_DIR=R"($(OutDir))"]]) add_includedirs("engine", "engine/enginestatic", {public = true}) add_files("engine/enginestatic/*.cpp") target("game") set_kind("binary") add_deps("idk") add_packages("vulkansdk") add_syslinks("Shell32") add_defines([[TEST_DATA_PATH=R"($(ProjectDir)test_data)"]]) add_defines([[TEST_BIN_DIR=R"($(OutDir))"]]) add_includedirs("engine", "engine/game", {public = true}) add_files("engine/game/*.cpp") add_headerfiles("engine/game/*.h") target("launcher") set_kind("binary") add_deps("idk") add_packages("vulkansdk") add_syslinks("Shell32") 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_headerfiles("engine/launcher/*.h") target("opengl") set_kind("binary") add_deps("idk") add_packages("glad", "glfw") add_syslinks("Shell32") add_defines([[TEST_DATA_PATH=R"($(ProjectDir)test_data)"]]) add_defines([[TEST_BIN_DIR=R"($(OutDir))"]]) add_includedirs("engine", "engine/opengl", {public = true}) add_files("engine/opengl/*.cpp","engine/opengl/**.cpp") add_headerfiles("engine/opengl/*.h","engine/opengl/**.h") target("vkn") set_kind("static") add_deps("idk","editorstatic","win32") add_packages("vulkansdk") add_defines([[TEST_DATA_PATH=R"($(ProjectDir)test_data)"]]) add_defines([[TEST_BIN_DIR=R"($(OutDir))"]]) 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_deps("idk") add_syslinks("Shell32") add_defines([[TEST_DATA_PATH=R"($(ProjectDir)test_data)"]]) add_defines([[TEST_BIN_DIR=R"($(OutDir))"]]) add_includedirs("engine/win32", {public = true}) add_files("engine/win32/*.cpp") add_headerfiles("engine/win32/*.h")