project(
  'phosphor-ipmi-blobs',
  'cpp',
  version: '0.1',
  meson_version: '>=0.57.0',
  default_options: [
    'cpp_std=c++20',
    'warning_level=3',
    'werror=true',
  ])

ipmi_blob_dep = declare_dependency(
  include_directories: include_directories('.'))

install_headers(
  'blobs-ipmid/blobs.hpp',
  subdir: 'blobs-ipmid')

import('pkgconfig').generate(
  name: 'phosphor-ipmi-blobs',
  description: 'Phosphor Blob Transfer Interface',
  version: meson.project_version())

phosphor_logging_dep = dependency('phosphor-logging')

blob_manager_pre = declare_dependency(
  dependencies: [
    ipmi_blob_dep,
    dependency('ipmiblob'),
    phosphor_logging_dep,
  ])

blob_manager_lib = static_library(
  'blobmanager',
  'fs.cpp',
  'internal/sys.cpp',
  'ipmi.cpp',
  'manager.cpp',
  'process.cpp',
  'utils.cpp',
  implicit_include_directories: false,
  dependencies: blob_manager_pre)

blob_manager_dep = declare_dependency(
  link_with: blob_manager_lib,
  dependencies: blob_manager_pre)

conf_data = configuration_data()
conf_data.set_quoted(
  'BLOB_LIB_PATH',
  get_option('prefix') / get_option('libdir') / 'blob-ipmid')
conf_h = configure_file(
  output: 'config.h',
  configuration: conf_data)

shared_module(
  'blobmanager',
  conf_h,
  'main.cpp',
  implicit_include_directories: false,
  dependencies: [
    blob_manager_dep,
    dependency('libipmid'),
  ],
  install: true,
  install_dir: get_option('libdir') / 'ipmid-providers')

if get_option('examples')
  subdir('example')
endif

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