rse_graphics_sources = [
  'src/descriptor_builder.c',
  'src/font_manager.c',
  'src/mesh_controller.c',
  'src/pipeline_builder.c',
  'src/renderer.c',
  'src/rse_graphics.c',
  'src/vma_port.cpp',
  'src/vulkan_base.c',
  'src/vulkan_buffers.c',
  'src/vulkan_commands.c',
  'src/vulkan_image.c',
  'src/vulkan_render_pass.c',
  'src/vulkan_swapchain.c',
  'src/window.c',
  ]

vulkan_dep = dependency('vulkan',
                        version : '>=1.4.335')

sdl3_dep = dependency('sdl3',
                      version : '>=3.4.0')

freetype_dep = dependency('freetype2',
                          version : '>=22.1.16')
glm_dep = dependency('glm',
                      version : '>=1.0.3',
                      method : 'cmake')
vma_dep = dependency('VulkanMemoryAllocator',
                      version : '>=3.3.0',
                      modules : ['GPUOpen::VulkanMemoryAllocator'])

rse_graphics_lib = shared_library(
  'rse_graphics',
  rse_graphics_sources,
  include_directories : [
    '../'
    ],
  dependencies : [vulkan_dep,
                  vma_dep,
                  sdl3_dep,
                  freetype_dep,
                  glm_dep,
                  stb_dep,
                  ],
  link_with: rse_utilities_lib,
  install : true
  )
