project( 'phosphor-host-postd', 'cpp', default_options: [ 'warning_level=3', 'werror=true', 'cpp_std=c++23' ], license: 'Apache-2.0', version: '1.0', meson_version: '>=1.1.1', ) build_tests = get_option('tests') postd_headers = include_directories('.') phosphor_dbus_interfaces = dependency('phosphor-dbus-interfaces') sdbusplus = dependency('sdbusplus') sdeventplus = dependency('sdeventplus') systemd = dependency('systemd') libgpiodcxx = dependency('libgpiodcxx') conf_data = configuration_data() conf_data.set('bindir', get_option('prefix') / get_option('bindir')) conf_data.set('SYSTEMD_TARGET', get_option('systemd-target')) snoopd_src = ['main.cpp'] snoopd_args = '' if get_option('snoop').allowed() snoopd_src += 'ipmisnoop/ipmisnoop.cpp' add_project_arguments('-DENABLE_IPMI_SNOOP',language:'cpp') snoopd_args += ' -h "' + get_option('host-instances') + '"' elif get_option('snoop-device') != '' snoopd_args += '-b ' + get_option('post-code-bytes').to_string() snoopd_args += ' -d /dev/' + get_option('snoop-device') rate_limit = get_option('rate-limit') if rate_limit > 0 snoopd_args += ' --rate-limit=' + rate_limit.to_string() endif endif conf_data.set('SNOOPD_ARGS', snoopd_args) configure_file( input: 'lpcsnoop.service.in', output: 'lpcsnoop.service', configuration: conf_data, install: true, install_dir: systemd.get_variable('systemdsystemunitdir')) executable( 'snoopd', snoopd_src, dependencies: [ sdbusplus, sdeventplus, phosphor_dbus_interfaces, libgpiodcxx, ], install: true, ) executable( 'snooper', 'example.cpp', dependencies: [ sdbusplus, sdeventplus, phosphor_dbus_interfaces, ], install: true, ) if not get_option('7seg').disabled() udevdir = dependency('udev', required : false).get_variable('udevdir') assert(udevdir != '', 'Cannot find udevdir') install_data(['80-7seg.rules'], install_dir : udevdir) install_data( ['postcode-7seg@.service'], install_dir: systemd.get_variable('systemdsystemunitdir') ) executable( 'postcode_7seg', '7seg.cpp', dependencies: [ sdbusplus, phosphor_dbus_interfaces, ], install: true, ) endif install_headers( 'lpcsnoop/snoop.hpp', 'lpcsnoop/snoop_listen.hpp', subdir: 'lpcsnoop') if not build_tests.disabled() subdir('test') endif