sdbuspp_prog = find_program('sdbus++')

domain = 'xyz.openbmc_project.Ipmi.Internal.SoftPowerOff'
if_yaml_file = files('../SoftPowerOff.interface.yaml')

if_cpp = custom_target(
  'server.cpp',
  output: 'server.cpp',
  input: if_yaml_file,
  capture: true,
  command: [sdbuspp_prog, '-r', root, 'interface', 'server-cpp', domain])

if_hpp = custom_target(
  'server.hpp',
  output: 'server.hpp',
  input: if_yaml_file,
  capture: true,
  command: [sdbuspp_prog, '-r', root, 'interface', 'server-header', domain],
  install: true,
  install_dir: get_option('includedir') / 'xyz/openbmc_project/Ipmi/Internal/SoftPowerOff')

softoff_dbus_deps = [
  dependency('phosphor-dbus-interfaces'),
  dependency('sdbusplus'),
]

softoff_dbus_lib = library(
  'softoff-dbus',
  [
    if_cpp,
    if_hpp,
  ],
  implicit_include_directories: false,
  include_directories: root_inc,
  version: meson.project_version(),
  dependencies: softoff_dbus_deps,
  override_options: ['b_lundef=false'],
  install: true)

softoff_dbus = declare_dependency(
  dependencies: softoff_dbus_deps,
  sources: [if_hpp],
  link_with: softoff_dbus_lib)

softoff_dbus_reqs = []
foreach dep : softoff_dbus_deps
  if dep.type_name() == 'pkgconfig'
    softoff_dbus_reqs += dep
  endif
endforeach

import('pkgconfig').generate(
  name: 'softoff-dbus',
  description: 'SoftPowerOff DBus Bindings',
  version: meson.project_version(),
  libraries: softoff_dbus,
  requires: softoff_dbus_reqs)
