project(tw_client)

add_subdirectory(shaders)

file(GLOB FILES
    src/*.cpp
    src/app/*.cpp
    src/network/*.cpp
    src/world/*.cpp
    src/world/controllers/*.cpp
    src/io/*.cpp
    src/draw/*.cpp
    src/draw/RenderPasses/*.cpp
    src/debug/*.cpp
    src/debug/metrics/*.cpp
    src/debug/tools/*.cpp
)

add_executable(${PROJECT_NAME} ${FILES})
add_dependencies(tw_shaders imgui::plot imgui::plot)

target_link_libraries(${PROJECT_NAME}
        PUBLIC
        tw_common
        tw::network
        tw::metrics
        tw::quicr
        loft::common
		loft::base
        ${LIBDECOR_LIB}
		loft_window
		loft::render_graph
		tw::protocol
		tw::message_protocol
		tw::serialization
		tw::gui
        imgui::imgui
        imgui::plot
        glm::glm
        EnTT::EnTT
        Jolt
        Tracy::TracyClient
        TracyClient
)

target_include_directories(${PROJECT_NAME}
        PUBLIC
        ${PROJECT_SOURCE_DIR}/src/
        ${JoltPhysics_SOURCE_DIR}/..
)
