blob: 6168e7376405f120ecb61e067b2b5f6fd9e0ecf4 [file] [log] [blame]
Willy Tuc710b972021-08-11 16:33:43 -07001sdbuspp_prog = find_program('sdbus++')
2
3domain = 'xyz.openbmc_project.Ipmi.Internal.SoftPowerOff'
4if_yaml_file = files('../SoftPowerOff.interface.yaml')
5
6if_cpp = custom_target(
7 'server.cpp',
8 output: 'server.cpp',
9 input: if_yaml_file,
10 capture: true,
11 command: [sdbuspp_prog, '-r', root, 'interface', 'server-cpp', domain])
12
13if_hpp = custom_target(
14 'server.hpp',
15 output: 'server.hpp',
16 input: if_yaml_file,
17 capture: true,
18 command: [sdbuspp_prog, '-r', root, 'interface', 'server-header', domain],
19 install: true,
20 install_dir: get_option('includedir') / 'xyz/openbmc_project/Ipmi/Internal/SoftPowerOff')
21
Patrick Williams68e82942023-04-26 11:52:01 -050022if_common_hpp = custom_target(
23 'common.hpp',
24 output: 'common.hpp',
25 input: if_yaml_file,
26 capture: true,
27 command: [sdbuspp_prog, '-r', root, 'interface', 'common-header', domain],
28 install: true,
29 install_dir: get_option('includedir') / 'xyz/openbmc_project/Ipmi/Internal/SoftPowerOff')
30
Willy Tuc710b972021-08-11 16:33:43 -070031softoff_dbus_deps = [
32 dependency('phosphor-dbus-interfaces'),
33 dependency('sdbusplus'),
34]
35
36softoff_dbus_lib = library(
37 'softoff-dbus',
38 [
39 if_cpp,
40 if_hpp,
Patrick Williams68e82942023-04-26 11:52:01 -050041 if_common_hpp,
Willy Tuc710b972021-08-11 16:33:43 -070042 ],
43 implicit_include_directories: false,
44 include_directories: root_inc,
45 version: meson.project_version(),
46 dependencies: softoff_dbus_deps,
47 override_options: ['b_lundef=false'],
48 install: true)
49
50softoff_dbus = declare_dependency(
51 dependencies: softoff_dbus_deps,
Patrick Williams68e82942023-04-26 11:52:01 -050052 sources: [if_hpp, if_common_hpp],
Willy Tuc710b972021-08-11 16:33:43 -070053 link_with: softoff_dbus_lib)
54
55softoff_dbus_reqs = []
56foreach dep : softoff_dbus_deps
57 if dep.type_name() == 'pkgconfig'
58 softoff_dbus_reqs += dep
59 endif
60endforeach
61
62import('pkgconfig').generate(
63 name: 'softoff-dbus',
64 description: 'SoftPowerOff DBus Bindings',
65 version: meson.project_version(),
66 libraries: softoff_dbus,
67 requires: softoff_dbus_reqs)