cmake_minimum_required(VERSION 3.16)

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

add_library(deerith_graphics ${GRAPHICS_SOURCES})

target_include_directories(deerith_graphics
    PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include
    PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
)

target_compile_features(deerith_graphics PUBLIC cxx_std_20)

find_package(Vulkan REQUIRED)
find_package(glfw3 REQUIRED)
find_package(glm REQUIRED)
find_package(fmt REQUIRED)

target_link_libraries(deerith_graphics
    PUBLIC
        deerith::core
    PRIVATE
        Vulkan::Vulkan
        glfw
        glm::glm
        fmt::fmt
)

add_library(deerith::graphics ALIAS deerith_graphics)