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 12*6c71b0f9SWilly Turoot_inc = include_directories('.') 13*6c71b0f9SWilly Tu 14*6c71b0f9SWilly Tuconf_data = configuration_data() 15*6c71b0f9SWilly Tuconf_data.set_quoted('STATIC_BIFURCATION_CONFIG', get_option('static-bifurcation')) 16*6c71b0f9SWilly Tuconf_h = configure_file( 17*6c71b0f9SWilly Tu output: 'config.h', 18*6c71b0f9SWilly Tu configuration: conf_data) 19*6c71b0f9SWilly Tu 20ac730af2SWilliam A. Kennington IIImeson.get_compiler('cpp').has_header_symbol( 21ac730af2SWilliam A. Kennington III 'ipmid/api.h', 22ac730af2SWilliam A. Kennington III 'ipmid_get_sd_bus_connection') 23ac730af2SWilliam A. Kennington III 24ac730af2SWilliam A. Kennington IIIjson_dep = dependency('nlohmann_json', required: false) 25ac730af2SWilliam A. Kennington IIImeson.get_compiler('cpp').has_header_symbol( 26ac730af2SWilliam A. Kennington III 'nlohmann/json.hpp', 27ac730af2SWilliam A. Kennington III 'nlohmann::json', 28ac730af2SWilliam A. Kennington III dependencies: json_dep) 29ac730af2SWilliam A. Kennington III 30*6c71b0f9SWilly Tufmt_dep = dependency('fmt', required: false) 31*6c71b0f9SWilly Tuif not fmt_dep.found() 32*6c71b0f9SWilly Tu fmt_proj = import('cmake').subproject( 33*6c71b0f9SWilly Tu 'fmt', 34*6c71b0f9SWilly Tu cmake_options: [ 35*6c71b0f9SWilly Tu '-DCMAKE_POSITION_INDEPENDENT_CODE=ON', 36*6c71b0f9SWilly Tu '-DMASTER_PROJECT=OFF' 37*6c71b0f9SWilly Tu ], 38*6c71b0f9SWilly Tu required: false) 39*6c71b0f9SWilly Tu assert(fmt_proj.found(), 'fmtlib is required') 40*6c71b0f9SWilly Tu fmt_dep = fmt_proj.dependency('fmt') 41*6c71b0f9SWilly Tuendif 42*6c71b0f9SWilly Tu 43*6c71b0f9SWilly Tusubdir('bifurcation') 44*6c71b0f9SWilly Tu 45ac730af2SWilliam A. Kennington IIIsys_pre = declare_dependency( 46*6c71b0f9SWilly Tu include_directories: root_inc, 47ac730af2SWilliam A. Kennington III dependencies: [ 48ac730af2SWilliam A. Kennington III json_dep, 49*6c71b0f9SWilly Tu fmt_dep, 50ac730af2SWilliam A. Kennington III dependency('phosphor-dbus-interfaces'), 51ac730af2SWilliam A. Kennington III dependency('phosphor-logging'), 52ac730af2SWilliam A. Kennington III dependency('sdbusplus'), 53*6c71b0f9SWilly Tu bifurcation_dep, 54ac730af2SWilliam A. Kennington III ]) 55ac730af2SWilliam A. Kennington III 56ac730af2SWilliam A. Kennington IIIsys_lib = static_library( 57ac730af2SWilliam A. Kennington III 'sys', 58ac730af2SWilliam A. Kennington III 'cable.cpp', 59ac730af2SWilliam A. Kennington III 'cpld.cpp', 60ac730af2SWilliam A. Kennington III 'entity_name.cpp', 61ac730af2SWilliam A. Kennington III 'eth.cpp', 62ac730af2SWilliam A. Kennington III 'flash_size.cpp', 63ac730af2SWilliam A. Kennington III 'handler.cpp', 64ac730af2SWilliam A. Kennington III 'host_power_off.cpp', 65ac730af2SWilliam A. Kennington III 'ipmi.cpp', 66ac730af2SWilliam A. Kennington III 'machine_name.cpp', 67ac730af2SWilliam A. Kennington III 'pcie_i2c.cpp', 684f0d1de6SSteve Foreman 'google_accel_oob.cpp', 69*6c71b0f9SWilly Tu 'pcie_bifurcation.cpp', 70ac730af2SWilliam A. Kennington III 'psu.cpp', 71ac730af2SWilliam A. Kennington III 'util.cpp', 72ac730af2SWilliam A. Kennington III implicit_include_directories: false, 73ac730af2SWilliam A. Kennington III dependencies: sys_pre) 74ac730af2SWilliam A. Kennington III 75ac730af2SWilliam A. Kennington IIIsys_dep = declare_dependency( 76ac730af2SWilliam A. Kennington III link_with: sys_lib, 77ac730af2SWilliam A. Kennington III dependencies: sys_pre) 78ac730af2SWilliam A. Kennington III 79ac730af2SWilliam A. Kennington IIIif not get_option('tests').disabled() 80ac730af2SWilliam A. Kennington III subdir('test') 81ac730af2SWilliam A. Kennington IIIendif 82ac730af2SWilliam A. Kennington III 83ac730af2SWilliam A. Kennington IIIshared_module( 84ac730af2SWilliam A. Kennington III 'googlesys', 85ac730af2SWilliam A. Kennington III 'main.cpp', 86ac730af2SWilliam A. Kennington III implicit_include_directories: false, 87ac730af2SWilliam A. Kennington III dependencies: [ 88ac730af2SWilliam A. Kennington III dependency('libipmid'), 89ac730af2SWilliam A. Kennington III sys_dep, 90ac730af2SWilliam A. Kennington III ], 91ac730af2SWilliam A. Kennington III install: true, 92ac730af2SWilliam A. Kennington III install_dir: get_option('libdir') / 'ipmid-providers') 93ac730af2SWilliam A. Kennington III 94ac730af2SWilliam A. Kennington IIIsystemd_dep = dependency('systemd') 95ac730af2SWilliam A. Kennington IIIif systemd_dep.found() 96ac730af2SWilliam A. Kennington III install_data( 97ac730af2SWilliam A. Kennington III 'gbmc-host-poweroff.target', 98ac730af2SWilliam A. Kennington III 'gbmc-psu-hardreset.target', 990e22d32aSWilliam A. Kennington III 'gbmc-psu-hardreset-pre.target', 1000e22d32aSWilliam A. Kennington III 'gbmc-psu-hardreset-time.service', 101ac730af2SWilliam A. Kennington III install_dir: systemd_dep.get_variable(pkgconfig: 'systemdsystemunitdir')) 102ac730af2SWilliam A. Kennington IIIendif 103