project(
  meson.current_source_dir().split('/').get(-1), 
  'cpp', 
  version : '1.0.0',
  default_options : [
    'warning_level=1',
    'optimization=3',
    'cpp_std=c++20',
])

add_project_arguments (
  '-Wall',
  '-Wpedantic',
  '-Wno-shadow', 
  '-Wno-unused-but-set-variable',
  '-Wno-comment',
  '-Wno-unused-parameter',
  '-Wno-unused-value',
  '-Wno-unused-header',
  '-Wno-missing-field-initializers',
  '-Wno-narrowing',
  '-Wno-deprecated-enum-enum-conversion',
  '-Wno-volatile',
  '-Wno-format-security',
  '-Wno-switch',
  '-Wno-ignored-attributes',
  '-Wno-unused-variable',
  # '-Wsign-conversion',
  language: 'cpp'
)

#############################################################

#args = [ '-lsndfile', '-lmpg123', '-lopenal', '-lglfw', '-ldl', '-lGL', '-lpthread', '-lX11', '-lXxf86vm', '-lXrandr', '-lXi']
args = [ ]

deps = [
  dependency('uuid'),
  dependency('threads'),
  dependency('opengl'),
  subproject('glfw').get_variable('glfw_dep'),
  subproject('glad').get_variable('glad_dep'),
  subproject('hack').get_variable('hack_dep'),
  subproject('imgui').get_variable('imgui_dep'),
  subproject('glm').get_variable('glm_dep')
]

inc = []

#############################################################

subdir('src')
subdir('example/layers')
subdir('example')
