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

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',
)


boost_dep = dependency(
    'boost',
    modules: ['coroutine'],
    include_type: 'system',
    required: false,
)

if not boost_dep.found()
    cmake = import('cmake')
    opt = cmake.subproject_options()
    opt.add_cmake_defines(
        {'BOOST_INCLUDE_LIBRARIES': 'asio;callable_traits;context;coroutine'},
    )
    boost_cmake = cmake.subproject('boost', required: true, options: opt)
    boost_asio = boost_cmake.dependency('boost_asio').as_system()
    boost_callable_traits = boost_cmake.dependency('boost_callable_traits').as_system()
    boost_context = boost_cmake.dependency('boost_context').as_system()
    boost_coroutine = boost_cmake.dependency('boost_coroutine').as_system()
    boost_dep = [
        boost_asio,
        boost_callable_traits,
        boost_context,
        boost_coroutine,
    ]
endif

i2c_dep = cpp.find_library('i2c')
nlohmann_json_dep = dependency('nlohmann_json', include_type: 'system')
phosphor_logging_dep = dependency('phosphor-logging')
sdbusplus_dep = dependency('sdbusplus')
systemd_dep = dependency('systemd')

executable(
    'ipmbbridged',
    '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('systemdsystemunitdir'),
)

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