project(
  'boot-time-monitor',
  'cpp',
  version: '0.1',
  meson_version: '>=1.1.1',
  default_options: [
    'warning_level=3',
    'werror=true',
    'cpp_std=c++23',
  ],
)

boot_time_monitor_incs = [
  include_directories('.'),
  include_directories('include'),
]

sdbusplus_dep = dependency('sdbusplus', required : false)

if get_option('npcm7xx-or-newer').enabled()
  add_project_arguments('-DNPCM7XX_OR_NEWER', language:'cpp')
endif

if get_option('auto-bmc-complete').enabled()
  add_project_arguments('-DAUTO_BMC_COMPLETE', language:'cpp')
endif

generated_sources = []
generated_others = []
if get_option('yocto').disabled()
  ### For local phosphor-dbus-interfaces only
  sdbusplusplus_prog = find_program('sdbus++', native: true)
  sdbuspp_gen_meson_prog = find_program('sdbus++-gen-meson', native: true)
  sdbusplusplus_depfiles = files()
  if sdbusplus_dep.type_name() == 'internal'
      sdbusplusplus_depfiles = subproject('sdbusplus').get_variable('sdbusplusplus_depfiles')
  endif
  subdir('gen')
  subdir('gen/xyz')
  boot_time_monitor_incs += include_directories('gen')
endif

subdir('src')
subdir('boot-time-blob')
subdir('service_files')

if not get_option('tests').disabled()
  subdir('test')
endif
