find_package(glfw3 REQUIRED)
find_package(OpenGL REQUIRED)
find_package(glm REQUIRED)

find_package(PkgConfig REQUIRED)
pkg_check_modules(IMGUI REQUIRED imgui)


add_library(DeerithClient)

file(GLOB_RECURSE deerith_client_SOURCES
    CONFIGURE_DEPENDS
    ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp
)

target_sources(DeerithClient
    PRIVATE
        ${deerith_client_SOURCES}
)

target_include_directories(DeerithClient
    PUBLIC
        ${CMAKE_CURRENT_SOURCE_DIR}/include
        ${IMGUI_INCLUDE_DIRS}
)

target_link_libraries(DeerithClient
    PUBLIC
        DeerithCore
        OpenGL::GL
        glfw
        glm::glm
        ${IMGUI_LIBRARIES}
)

add_custom_target(DeerithClientShaders ALL
    COMMAND ${CMAKE_COMMAND} -E copy_directory
        ${CMAKE_CURRENT_SOURCE_DIR}/shaders
        ${CMAKE_CURRENT_BINARY_DIR}/shaders
)

add_dependencies(DeerithClient DeerithClientShaders)