xref: /openbmc/phosphor-modbus/rtu/meson.build (revision cf77ef540b925e10e3078bbdfbd795a0c1d9ff1f)
1modbus_rtu_lib = static_library(
2    'modbus_rtu_lib',
3    [
4        'modbus/modbus.cpp',
5        'modbus/modbus_commands.cpp',
6        'modbus/modbus_message.cpp',
7    ],
8    include_directories: ['.'],
9    dependencies: [default_deps],
10)
11
12modbus_rtu_port_lib = static_library(
13    'modbus_rtu_port_lib',
14    ['port/base_port.cpp', 'port/port_factory.cpp', 'port/usb_port.cpp'],
15    include_directories: ['.', common_include],
16    link_with: [modbus_rtu_lib, modbus_common_lib],
17    dependencies: [default_deps],
18)
19
20modbus_rtu_dep = declare_dependency(
21    include_directories: ['.'],
22    link_with: [modbus_rtu_lib, modbus_rtu_port_lib],
23    dependencies: [default_deps],
24)
25
26inventory_src = files('inventory/modbus_inventory.cpp')
27
28device_src = files(
29    'device/base_config.cpp',
30    'device/base_device.cpp',
31    'device/device_factory.cpp',
32    'device/reservoir_pump_unit.cpp',
33)
34
35firmware_src = files('firmware/device_firmware.cpp')
36
37executable(
38    'phosphor-modbus-rtu',
39    ['device_manager.cpp', inventory_src, device_src, firmware_src],
40    include_directories: ['.', common_include],
41    dependencies: [default_deps],
42    link_with: [modbus_common_lib, modbus_rtu_lib, modbus_rtu_port_lib],
43    install: true,
44    install_dir: get_option('libexecdir') / 'phosphor-modbus',
45)
46
47systemd_system_unit_dir = dependency('systemd').get_variable(
48    'systemdsystemunitdir',
49    pkgconfig_define: ['prefix', get_option('prefix')],
50)
51
52install_data(
53    'xyz.openbmc_project.ModbusRTU.service',
54    install_dir: systemd_system_unit_dir,
55)
56