| project( |
| 'phosphor-nvme', |
| 'cpp', |
| version: '1.0', |
| default_options: [ |
| 'cpp_std=c++23', |
| ], |
| meson_version: '>=1.1.1', |
| ) |
| |
| executable( |
| 'nvme_main', |
| [ |
| 'nvme_main.cpp', |
| 'nvme_manager.cpp', |
| 'smbus.cpp', |
| 'nvmes.cpp', |
| ], |
| dependencies: [ |
| dependency('phosphor-logging'), |
| dependency('sdbusplus'), |
| dependency('phosphor-dbus-interfaces'), |
| dependency('sdeventplus'), |
| dependency('nlohmann_json') |
| ], |
| install: true, |
| install_dir: get_option('bindir') |
| ) |
| |
| install_data(sources : 'nvme_config.json', install_dir : '/etc/nvme') |
| |
| conf_data = configuration_data() |
| conf_data.set('NVME_REQUEST_NAME', '"xyz.openbmc_project.nvme.manager"') |
| conf_data.set('NVME_OBJ_PATH_ROOT', '"/xyz/openbmc_project/sensors/temperature"') |
| conf_data.set('NVME_OBJ_PATH', '"/xyz/openbmc_project/sensors/temperature/nvme"') |
| conf_data.set('DBUS_PROPERTY_IFACE', '"org.freedesktop.DBus.Properties"') |
| conf_data.set('LED_GROUP_BUSNAME', '"xyz.openbmc_project.LED.GroupManager"') |
| conf_data.set('LED_GROUP_IFACE', '"xyz.openbmc_project.Led.Group"') |
| conf_data.set('LED_CONTROLLER_IFACE', '"xyz.openbmc_project.Led.Physical"') |
| conf_data.set('ITEM_IFACE', '"xyz.openbmc_project.Inventory.Item"') |
| conf_data.set('NVME_STATUS_IFACE', '"xyz.openbmc_project.Nvme.Status"') |
| conf_data.set('ASSET_IFACE', '"xyz.openbmc_project.Inventory.Decorator.Asset"') |
| conf_data.set('INVENTORY_BUSNAME', '"xyz.openbmc_project.Inventory.Manager"') |
| conf_data.set('NVME_INVENTORY_PATH', '"/xyz/openbmc_project/inventory/system/chassis/motherboard/nvme"') |
| conf_data.set('INVENTORY_NAMESPACE', '"/xyz/openbmc_project/inventory"') |
| conf_data.set('INVENTORY_MANAGER_IFACE', '"xyz.openbmc_project.Inventory.Manager"') |
| |
| configure_file(output : 'config.h', |
| configuration : conf_data) |
| |
| systemd = dependency('systemd') |
| conf_data = configuration_data() |
| conf_data.set('bindir', get_option('prefix') / get_option('bindir')) |
| configure_file( |
| input: 'xyz.openbmc_project.nvme.manager.service.in', |
| output: 'xyz.openbmc_project.nvme.manager.service', |
| configuration: conf_data, |
| install: true, |
| install_dir: systemd.get_variable('systemdsystemunitdir')) |