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

cpp = meson.get_compiler('cpp')
add_project_arguments(
  cpp.get_supported_arguments([
    '-DBOOST_ERROR_CODE_HEADER_ONLY',
    '-DBOOST_SYSTEM_NO_DEPRECATED',
    '-DBOOST_ALL_NO_LIB',
    '-DBOOST_NO_RTTI',
    '-DBOOST_NO_TYPEID',
    '-DBOOST_ASIO_DISABLE_THREADS',
  ]),
  language: 'cpp',
)

if cpp.has_header('nlohmann/json.hpp')
    nlohmann_json_dep = declare_dependency()
else
    subproject('nlohmann-json')
    nlohmann_json_dep = declare_dependency(
        include_directories: include_directories(
            'subprojects/nlohmann-json/single_include',
            'subprojects/nlohmann-json/single_include/nlohmann',
        )
    )
endif

boost_dep = dependency(
  'boost',
  modules: ['coroutine'],
  include_type: 'system',
)
i2c_dep = cpp.find_library('i2c')
phosphor_logging_dep = dependency('phosphor-logging')
sdbusplus_dep = dependency('sdbusplus')
systemd_dep = dependency('systemd')

executable(
  'ipmbbridge',
  'ipmbbridged.cpp',
  'ipmbutils.cpp',
  dependencies: [
    boost_dep,
    i2c_dep,
    nlohmann_json_dep,
    phosphor_logging_dep,
    sdbusplus_dep,
  ],
  install: true,
)

install_data(
  'ipmb.service',
  install_dir: systemd_dep.get_variable(pkgconfig: 'systemdsystemunitdir'),
)

install_data(
  'ipmb-channels.json',
  install_dir: get_option('datadir') / 'ipmbbridge',
)
