xref: /openbmc/google-ipmi-sys/meson.build (revision 0e22d32a8547fd5ad20e975a53ded16a33015ad2)
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
12ac730af2SWilliam A. Kennington IIImeson.get_compiler('cpp').has_header_symbol(
13ac730af2SWilliam A. Kennington III  'ipmid/api.h',
14ac730af2SWilliam A. Kennington III  'ipmid_get_sd_bus_connection')
15ac730af2SWilliam A. Kennington III
16ac730af2SWilliam A. Kennington IIIjson_dep = dependency('nlohmann_json', required: false)
17ac730af2SWilliam A. Kennington IIImeson.get_compiler('cpp').has_header_symbol(
18ac730af2SWilliam A. Kennington III  'nlohmann/json.hpp',
19ac730af2SWilliam A. Kennington III  'nlohmann::json',
20ac730af2SWilliam A. Kennington III  dependencies: json_dep)
21ac730af2SWilliam A. Kennington III
22ac730af2SWilliam A. Kennington IIIsys_pre = declare_dependency(
23ac730af2SWilliam A. Kennington III  include_directories: include_directories('.'),
24ac730af2SWilliam A. Kennington III  dependencies: [
25ac730af2SWilliam A. Kennington III    json_dep,
26ac730af2SWilliam A. Kennington III    dependency('phosphor-dbus-interfaces'),
27ac730af2SWilliam A. Kennington III    dependency('phosphor-logging'),
28ac730af2SWilliam A. Kennington III    dependency('sdbusplus'),
29ac730af2SWilliam A. Kennington III  ])
30ac730af2SWilliam A. Kennington III
31ac730af2SWilliam A. Kennington IIIsys_lib = static_library(
32ac730af2SWilliam A. Kennington III  'sys',
33ac730af2SWilliam A. Kennington III  'cable.cpp',
34ac730af2SWilliam A. Kennington III  'cpld.cpp',
35ac730af2SWilliam A. Kennington III  'entity_name.cpp',
36ac730af2SWilliam A. Kennington III  'eth.cpp',
37ac730af2SWilliam A. Kennington III  'flash_size.cpp',
38ac730af2SWilliam A. Kennington III  'handler.cpp',
39ac730af2SWilliam A. Kennington III  'host_power_off.cpp',
40ac730af2SWilliam A. Kennington III  'ipmi.cpp',
41ac730af2SWilliam A. Kennington III  'machine_name.cpp',
42ac730af2SWilliam A. Kennington III  'pcie_i2c.cpp',
434f0d1de6SSteve Foreman  'google_accel_oob.cpp',
44ac730af2SWilliam A. Kennington III  'psu.cpp',
45ac730af2SWilliam A. Kennington III  'util.cpp',
46ac730af2SWilliam A. Kennington III  implicit_include_directories: false,
47ac730af2SWilliam A. Kennington III  dependencies: sys_pre)
48ac730af2SWilliam A. Kennington III
49ac730af2SWilliam A. Kennington IIIsys_dep = declare_dependency(
50ac730af2SWilliam A. Kennington III  link_with: sys_lib,
51ac730af2SWilliam A. Kennington III  dependencies: sys_pre)
52ac730af2SWilliam A. Kennington III
53ac730af2SWilliam A. Kennington IIIif not get_option('tests').disabled()
54ac730af2SWilliam A. Kennington III  subdir('test')
55ac730af2SWilliam A. Kennington IIIendif
56ac730af2SWilliam A. Kennington III
57ac730af2SWilliam A. Kennington IIIshared_module(
58ac730af2SWilliam A. Kennington III  'googlesys',
59ac730af2SWilliam A. Kennington III  'main.cpp',
60ac730af2SWilliam A. Kennington III  implicit_include_directories: false,
61ac730af2SWilliam A. Kennington III  dependencies: [
62ac730af2SWilliam A. Kennington III    dependency('libipmid'),
63ac730af2SWilliam A. Kennington III    sys_dep,
64ac730af2SWilliam A. Kennington III  ],
65ac730af2SWilliam A. Kennington III  install: true,
66ac730af2SWilliam A. Kennington III  install_dir: get_option('libdir') / 'ipmid-providers')
67ac730af2SWilliam A. Kennington III
68ac730af2SWilliam A. Kennington IIIsystemd_dep = dependency('systemd')
69ac730af2SWilliam A. Kennington IIIif systemd_dep.found()
70ac730af2SWilliam A. Kennington III  install_data(
71ac730af2SWilliam A. Kennington III    'gbmc-host-poweroff.target',
72ac730af2SWilliam A. Kennington III    'gbmc-psu-hardreset.target',
73*0e22d32aSWilliam A. Kennington III    'gbmc-psu-hardreset-pre.target',
74*0e22d32aSWilliam A. Kennington III    'gbmc-psu-hardreset-time.service',
75ac730af2SWilliam A. Kennington III    install_dir: systemd_dep.get_variable(pkgconfig: 'systemdsystemunitdir'))
76ac730af2SWilliam A. Kennington IIIendif
77