libpldmresponder_deps = [
    phosphor_dbus_interfaces,
    phosphor_logging_dep,
    nlohmann_json_dep,
    sdbusplus,
    sdeventplus,
    libpldm_dep,
    libpldmutils,
]

sources = [
    'base.cpp',
    'bios.cpp',
    'bios_table.cpp',
    'bios_attribute.cpp',
    'bios_string_attribute.cpp',
    'bios_integer_attribute.cpp',
    'bios_enum_attribute.cpp',
    'bios_config.cpp',
    'pdr_utils.cpp',
    'pdr.cpp',
    'pdr_file.cpp',
    'platform.cpp',
    'platform_config.cpp',
    'file_transfer.cpp',
    'fru_parser.cpp',
    'fru.cpp',
    '../host-bmc/host_pdr_handler.cpp',
    '../host-bmc/utils.cpp',
    '../host-bmc/dbus_to_event_handler.cpp',
    '../host-bmc/host_condition.cpp',
    '../host-bmc/dbus/asset.cpp',
    '../host-bmc/dbus/availability.cpp',
    '../host-bmc/dbus/custom_dbus.cpp',
    '../host-bmc/dbus/cable.cpp',
    '../host-bmc/dbus/chassis.cpp',
    '../host-bmc/dbus/cpu_core.cpp',
    '../host-bmc/dbus/inventory_item.cpp',
    '../host-bmc/utils.cpp',
    '../host-bmc/dbus/pcie_device.cpp',
    '../host-bmc/dbus/pcie_slot.cpp',
    'event_parser.cpp',
]

responder_headers = ['.']

if get_option('oem-ibm').allowed()
    responder_headers += ['../oem/ibm/']
    sources += [
        '../oem/ibm/libpldmresponder/utils.cpp',
        '../oem/ibm/libpldmresponder/file_io.cpp',
        '../oem/ibm/libpldmresponder/file_table.cpp',
        '../oem/ibm/libpldmresponder/file_io_by_type.cpp',
        '../oem/ibm/libpldmresponder/file_io_type_pel.cpp',
        '../oem/ibm/libpldmresponder/file_io_type_dump.cpp',
        '../oem/ibm/libpldmresponder/file_io_type_cert.cpp',
        '../oem/ibm/libpldmresponder/platform_oem_ibm.cpp',
        '../oem/ibm/libpldmresponder/fru_oem_ibm.cpp',
        '../oem/ibm/libpldmresponder/oem_ibm_handler.cpp',
        '../oem/ibm/libpldmresponder/inband_code_update.cpp',
        '../oem/ibm/requester/dbus_to_file_handler.cpp',
        '../oem/ibm/libpldmresponder/collect_slot_vpd.cpp',
        '../oem/ibm/libpldmresponder/file_io_type_progress_src.cpp',
        '../oem/ibm/libpldmresponder/file_io_type_vpd.cpp',
        '../oem/ibm/libpldmresponder/file_io_type_pcie.cpp',
        '../oem/ibm/host-bmc/host_lamp_test.cpp',
    ]
endif

libpldmresponder = library(
    'pldmresponder',
    sources,
    version: meson.project_version(),
    include_directories: include_directories(responder_headers),
    dependencies: libpldmresponder_deps,
    install: true,
)

libpldmresponder_dep = declare_dependency(
    include_directories: include_directories(responder_headers),
    link_with: libpldmresponder,
)

if get_option('tests').allowed()
    subdir('test')
endif

