find_package(glfw3 CONFIG REQUIRED)
find_package(OpenGL REQUIRED)
find_package(PkgConfig REQUIRED)

pkg_check_modules(IMGUI REQUIRED IMPORTED_TARGET imgui)

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

add_executable(DeerithClient
    ${DEERITH_SOURCES}
)

target_include_directories(DeerithClient
    PRIVATE
        "${CMAKE_CURRENT_SOURCE_DIR}/src"
        "${CMAKE_CURRENT_SOURCE_DIR}/include"
)

target_link_libraries(DeerithClient
    PRIVATE
        DeerithCore
        OpenGL::GL
        glfw
        PkgConfig::IMGUI
)

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

add_dependencies(DeerithClient DeerithClientShaders)
