1ac730af2SWilliam A. Kennington IIIproject( 2ac730af2SWilliam A. Kennington III 'google-ipmi-sys', 3ac730af2SWilliam A. Kennington III 'cpp', 4ac730af2SWilliam A. Kennington III version: '0.1', 5c841bfd2SWilly Tu meson_version: '>=0.57.0', 6ac730af2SWilliam A. Kennington III default_options: [ 7c841bfd2SWilly Tu 'cpp_std=c++20', 8ac730af2SWilliam A. Kennington III 'warning_level=3', 9ac730af2SWilliam A. Kennington III 'werror=true', 10ac730af2SWilliam A. Kennington III ]) 11ac730af2SWilliam A. Kennington III 126c71b0f9SWilly Turoot_inc = include_directories('.') 136c71b0f9SWilly Tu 146c71b0f9SWilly Tuconf_data = configuration_data() 156c71b0f9SWilly Tuconf_data.set_quoted('STATIC_BIFURCATION_CONFIG', get_option('static-bifurcation')) 166c71b0f9SWilly Tuconf_h = configure_file( 176c71b0f9SWilly Tu output: 'config.h', 186c71b0f9SWilly Tu configuration: conf_data) 196c71b0f9SWilly Tu 20*5e70dc8cSNikhil Namjoshibm_conf_data = configuration_data() 21*5e70dc8cSNikhil Namjoshibm_conf_data.set10('BARE_METAL', get_option('bare_metal')) 22*5e70dc8cSNikhil Namjoshibm_conf_h = configure_file( 23*5e70dc8cSNikhil Namjoshi output: 'bm_config.h', 24*5e70dc8cSNikhil Namjoshi configuration: bm_conf_data) 25*5e70dc8cSNikhil Namjoshi 26ac730af2SWilliam A. Kennington IIImeson.get_compiler('cpp').has_header_symbol( 27ac730af2SWilliam A. Kennington III 'ipmid/api.h', 28ac730af2SWilliam A. Kennington III 'ipmid_get_sd_bus_connection') 29ac730af2SWilliam A. Kennington III 30ac730af2SWilliam A. Kennington IIIjson_dep = dependency('nlohmann_json', required: false) 31ac730af2SWilliam A. Kennington IIImeson.get_compiler('cpp').has_header_symbol( 32ac730af2SWilliam A. Kennington III 'nlohmann/json.hpp', 33ac730af2SWilliam A. Kennington III 'nlohmann::json', 34ac730af2SWilliam A. Kennington III dependencies: json_dep) 35ac730af2SWilliam A. Kennington III 366c71b0f9SWilly Tufmt_dep = dependency('fmt', required: false) 376c71b0f9SWilly Tuif not fmt_dep.found() 386c71b0f9SWilly Tu fmt_proj = import('cmake').subproject( 396c71b0f9SWilly Tu 'fmt', 406c71b0f9SWilly Tu cmake_options: [ 416c71b0f9SWilly Tu '-DCMAKE_POSITION_INDEPENDENT_CODE=ON', 426c71b0f9SWilly Tu '-DMASTER_PROJECT=OFF' 436c71b0f9SWilly Tu ], 446c71b0f9SWilly Tu required: false) 456c71b0f9SWilly Tu assert(fmt_proj.found(), 'fmtlib is required') 466c71b0f9SWilly Tu fmt_dep = fmt_proj.dependency('fmt') 476c71b0f9SWilly Tuendif 486c71b0f9SWilly Tu 496c71b0f9SWilly Tusubdir('bifurcation') 506c71b0f9SWilly Tu 51ac730af2SWilliam A. Kennington IIIsys_pre = declare_dependency( 526c71b0f9SWilly Tu include_directories: root_inc, 53ac730af2SWilliam A. Kennington III dependencies: [ 54ac730af2SWilliam A. Kennington III json_dep, 556c71b0f9SWilly Tu fmt_dep, 56ac730af2SWilliam A. Kennington III dependency('phosphor-dbus-interfaces'), 57ac730af2SWilliam A. Kennington III dependency('phosphor-logging'), 58ac730af2SWilliam A. Kennington III dependency('sdbusplus'), 596c71b0f9SWilly Tu bifurcation_dep, 60ac730af2SWilliam A. Kennington III ]) 61ac730af2SWilliam A. Kennington III 62ac730af2SWilliam A. Kennington IIIsys_lib = static_library( 63ac730af2SWilliam A. Kennington III 'sys', 64*5e70dc8cSNikhil Namjoshi 'bmc_mode.cpp', 65ac730af2SWilliam A. Kennington III 'cable.cpp', 66ac730af2SWilliam A. Kennington III 'cpld.cpp', 67ac730af2SWilliam A. Kennington III 'entity_name.cpp', 68ac730af2SWilliam A. Kennington III 'eth.cpp', 69ac730af2SWilliam A. Kennington III 'flash_size.cpp', 70ac730af2SWilliam A. Kennington III 'handler.cpp', 71ac730af2SWilliam A. Kennington III 'host_power_off.cpp', 72ac730af2SWilliam A. Kennington III 'ipmi.cpp', 73ac730af2SWilliam A. Kennington III 'machine_name.cpp', 74ac730af2SWilliam A. Kennington III 'pcie_i2c.cpp', 754f0d1de6SSteve Foreman 'google_accel_oob.cpp', 766c71b0f9SWilly Tu 'pcie_bifurcation.cpp', 77ac730af2SWilliam A. Kennington III 'psu.cpp', 78ac730af2SWilliam A. Kennington III 'util.cpp', 79ac730af2SWilliam A. Kennington III implicit_include_directories: false, 80ac730af2SWilliam A. Kennington III dependencies: sys_pre) 81ac730af2SWilliam A. Kennington III 82ac730af2SWilliam A. Kennington IIIsys_dep = declare_dependency( 83ac730af2SWilliam A. Kennington III link_with: sys_lib, 84ac730af2SWilliam A. Kennington III dependencies: sys_pre) 85ac730af2SWilliam A. Kennington III 86ac730af2SWilliam A. Kennington IIIif not get_option('tests').disabled() 87ac730af2SWilliam A. Kennington III subdir('test') 88ac730af2SWilliam A. Kennington IIIendif 89ac730af2SWilliam A. Kennington III 90ac730af2SWilliam A. Kennington IIIshared_module( 91ac730af2SWilliam A. Kennington III 'googlesys', 92ac730af2SWilliam A. Kennington III 'main.cpp', 93ac730af2SWilliam A. Kennington III implicit_include_directories: false, 94ac730af2SWilliam A. Kennington III dependencies: [ 95ac730af2SWilliam A. Kennington III dependency('libipmid'), 96ac730af2SWilliam A. Kennington III sys_dep, 97ac730af2SWilliam A. Kennington III ], 98ac730af2SWilliam A. Kennington III install: true, 99ac730af2SWilliam A. Kennington III install_dir: get_option('libdir') / 'ipmid-providers') 100ac730af2SWilliam A. Kennington III 101ac730af2SWilliam A. Kennington IIIsystemd_dep = dependency('systemd') 102ac730af2SWilliam A. Kennington IIIif systemd_dep.found() 103ac730af2SWilliam A. Kennington III install_data( 104ac730af2SWilliam A. Kennington III 'gbmc-host-poweroff.target', 105ac730af2SWilliam A. Kennington III 'gbmc-psu-hardreset.target', 1060e22d32aSWilliam A. Kennington III 'gbmc-psu-hardreset-pre.target', 1070e22d32aSWilliam A. Kennington III 'gbmc-psu-hardreset-time.service', 108ac730af2SWilliam A. Kennington III install_dir: systemd_dep.get_variable(pkgconfig: 'systemdsystemunitdir')) 109ac730af2SWilliam A. Kennington IIIendif 110