| project( |
| 'ipmi-fru-parser', |
| 'cpp', |
| version: '1.0', |
| default_options: [ |
| 'buildtype=debugoptimized', |
| 'cpp_std=c++23', |
| 'warning_level=3', |
| 'werror=true', |
| ], |
| meson_version: '>=1.1.1', |
| ) |
| |
| cxx = meson.get_compiler('cpp') |
| |
| phosphor_logging_dep = dependency('phosphor-logging') |
| sdbusplus_dep = dependency('sdbusplus') |
| ipmid_dep = dependency('libipmid') |
| |
| if cxx.has_header('CLI/CLI.hpp') |
| CLI11_dep = declare_dependency() |
| else |
| CLI11_dep = dependency('CLI11') |
| endif |
| |
| python_prog = find_program('python3', native: true) |
| |
| fru_gen = custom_target( |
| 'fru-gen.cpp'.underscorify(), |
| input: [ |
| 'scripts/fru_gen.py', |
| get_option('fru_yaml'), |
| ], |
| output: 'fru-gen.cpp', |
| command: [ |
| python_prog, '@INPUT0@', |
| '-i', '@INPUT1@', |
| '-o', meson.current_build_dir(), |
| 'generate-cpp', |
| ], |
| ) |
| |
| properties_gen = custom_target( |
| 'extra-properties-gen.cpp'.underscorify(), |
| input: [ |
| 'scripts/extra-properties.py', |
| get_option('properties_yaml'), |
| ], |
| output: 'extra-properties-gen.cpp', |
| command: [ |
| python_prog, '@INPUT0@', |
| '-e', '@INPUT1@', |
| ], |
| ) |
| |
| writefrudata_lib = library( |
| 'writefrudata', |
| fru_gen, |
| properties_gen, |
| 'fru_area.cpp', |
| 'frup.cpp', |
| 'writefrudata.cpp', |
| dependencies: [ |
| sdbusplus_dep, |
| phosphor_logging_dep, |
| ipmid_dep, |
| ], |
| version: meson.project_version(), |
| install: true, |
| ) |
| |
| writefrudata_dep = declare_dependency( |
| link_with: writefrudata_lib, |
| ) |
| |
| strgfnhandler_lib = library( |
| 'strgfnhandler', |
| 'strgfnhandler.cpp', |
| dependencies: [ |
| writefrudata_dep, |
| phosphor_logging_dep, |
| ipmid_dep, |
| ], |
| override_options: [ 'b_lundef=false' ], |
| version: meson.project_version(), |
| install: true, |
| install_dir: get_option('libdir') / 'ipmid-providers', |
| ) |
| |
| executable( |
| 'phosphor-read-eeprom', |
| 'readeeprom.cpp', |
| dependencies: [ |
| CLI11_dep, |
| phosphor_logging_dep, |
| sdbusplus_dep, |
| writefrudata_dep, |
| ], |
| install: true, |
| ) |