1e39f9393SWilly Tuproject( 2e39f9393SWilly Tu 'fb-ipmi-oem', 3e39f9393SWilly Tu 'cpp', 4e39f9393SWilly Tu version: '0.1', 57c24dde3SPatrick Williams meson_version: '>=1.1.1', 6*d1471241SPatrick Williams default_options: ['werror=true', 'warning_level=3', 'cpp_std=c++23'], 7*d1471241SPatrick Williams) 8e39f9393SWilly Tu 9e39f9393SWilly Tu# Project Arguments 10e39f9393SWilly Tucpp = meson.get_compiler('cpp') 11e39f9393SWilly Tuadd_project_arguments( 12*d1471241SPatrick Williams cpp.get_supported_arguments( 13*d1471241SPatrick Williams [ 14e39f9393SWilly Tu '-DBOOST_ERROR_CODE_HEADER_ONLY', 15e39f9393SWilly Tu '-DBOOST_SYSTEM_NO_DEPRECATED', 16e39f9393SWilly Tu '-DBOOST_ALL_NO_LIB', 17e39f9393SWilly Tu '-DBOOST_NO_RTTI', 18e39f9393SWilly Tu '-DBOOST_NO_TYPEID', 19e39f9393SWilly Tu '-DBOOST_ASIO_DISABLE_THREADS', 20e39f9393SWilly Tu '-DBOOST_COROUTINES_NO_DEPRECATION_WARNING', 21e39f9393SWilly Tu '-Wno-psabi', 22e39f9393SWilly Tu '-Wno-pedantic', 23*d1471241SPatrick Williams ], 24*d1471241SPatrick Williams ), 25*d1471241SPatrick Williams language: 'cpp', 26*d1471241SPatrick Williams) 27e39f9393SWilly Tu 28708286a8SPatrick Williamsfs = import('fs') 29708286a8SPatrick Williams 30e39f9393SWilly Tuhost_instances = '0' 31e39f9393SWilly Tuif get_option('host-instances') != '' 32e39f9393SWilly Tu host_instances = get_option('host-instances') 33e39f9393SWilly Tuendif 34e39f9393SWilly Tu 354ec80567SJayashree Dhanapalconf_data = configuration_data() 364ec80567SJayashree Dhanapalconf_data.set_quoted('INSTANCES', host_instances) 374ae63e71SBonnie Loconf_data.set('POST_CODE_BYTES', get_option('post-code-bytes')) 38b340aa28SPeter Yinconf_data.set('DEBUG_CARD_FRAME_SIZE', get_option('debug-card-frame-size')) 394ec80567SJayashree Dhanapal 40*d1471241SPatrick Williamsconfigure_file( 41*d1471241SPatrick Williams input: 'meson_config.h.in', 424ec80567SJayashree Dhanapal output: 'config.h', 43*d1471241SPatrick Williams configuration: conf_data, 44*d1471241SPatrick Williams) 45e39f9393SWilly Tu 46d50efc03SPatrick Williamsif get_option('bic').allowed() 47e39f9393SWilly Tu add_project_arguments( 48*d1471241SPatrick Williams cpp.get_supported_arguments(['-DBIC_ENABLED']), 49*d1471241SPatrick Williams language: 'cpp', 50*d1471241SPatrick Williams ) 51e39f9393SWilly Tuendif 52e39f9393SWilly Tu 53e39f9393SWilly Turoot_inc = include_directories('.', 'include') 54e39f9393SWilly Tu 55e39f9393SWilly Tu# Dependencies 562e9921c2SPatrick Williamssdbusplus_dep = dependency('sdbusplus') 572e9921c2SPatrick Williamsphosphor_dbus_interfaces_dep = dependency('phosphor-dbus-interfaces') 58e39f9393SWilly Tuphosphor_logging_dep = dependency('phosphor-logging') 59e39f9393SWilly Tuipmid_dep = dependency('libipmid') 602e9921c2SPatrick Williamschannellayer_dep = dependency('libchannellayer') 612e9921c2SPatrick Williamsuserlayer_dep = dependency('libuserlayer') 622e9921c2SPatrick Williams 63483f00a5SPatrick Williamsnlohmann_json_dep = dependency('nlohmann_json', include_type: 'system') 64e39f9393SWilly Tu 65e39f9393SWilly Tuzfboemcmds_pre = declare_dependency( 66e39f9393SWilly Tu include_directories: root_inc, 67e39f9393SWilly Tu dependencies: [ 682e9921c2SPatrick Williams channellayer_dep, 692e9921c2SPatrick Williams ipmid_dep, 702e9921c2SPatrick Williams nlohmann_json_dep, 712e9921c2SPatrick Williams phosphor_dbus_interfaces_dep, 72e39f9393SWilly Tu phosphor_logging_dep, 73e39f9393SWilly Tu sdbusplus_dep, 74e39f9393SWilly Tu userlayer_dep, 75*d1471241SPatrick Williams ], 76*d1471241SPatrick Williams) 77e39f9393SWilly Tu 7817bd2eabSPatrick Williamszfboemcmds_lib = library( 79e39f9393SWilly Tu 'zfboemcmds', 80b2ae88b4Scchoux 'src/commandutils.cpp', 81e39f9393SWilly Tu 'src/oemcommands.cpp', 82e39f9393SWilly Tu 'src/appcommands.cpp', 83e39f9393SWilly Tu 'src/storagecommands.cpp', 84e39f9393SWilly Tu 'src/usb-dbg.cpp', 85e39f9393SWilly Tu 'src/selcommands.cpp', 86e39f9393SWilly Tu 'src/transportcommands.cpp', 87e39f9393SWilly Tu 'src/biccommands.cpp', 88d96e2701SPotin Lai 'src/groupextcommands.cpp', 89e39f9393SWilly Tu implicit_include_directories: false, 90e39f9393SWilly Tu dependencies: zfboemcmds_pre, 9117bd2eabSPatrick Williams version: meson.project_version(), 9217bd2eabSPatrick Williams override_options: ['b_lundef=false'], 93e39f9393SWilly Tu install: true, 94*d1471241SPatrick Williams install_dir: get_option('libdir') / 'ipmid-providers', 95*d1471241SPatrick Williams) 963048dd54SKarthikeyan Pasupathi 973048dd54SKarthikeyan Pasupathiif get_option('machine') != '' 98*d1471241SPatrick Williams configfile = ['cri_sensors.json', 'gpio_desc.json', 'post_desc.json'] 993048dd54SKarthikeyan Pasupathi foreach c : configfile 100708286a8SPatrick Williams file = join_paths('configs', get_option('machine'), c) 101708286a8SPatrick Williams if not fs.is_file(file) 102708286a8SPatrick Williams warning('Missing config file: ' + file) 103708286a8SPatrick Williams else 1043048dd54SKarthikeyan Pasupathi install_data( 1053048dd54SKarthikeyan Pasupathi sources: file, 106*d1471241SPatrick Williams install_dir: get_option('datadir') / 'lcd-debug', 107708286a8SPatrick Williams ) 108708286a8SPatrick Williams endif 1093048dd54SKarthikeyan Pasupathi endforeach 1103048dd54SKarthikeyan Pasupathiendif 111