xref: /openbmc/phosphor-host-ipmid/xyz/openbmc_project/Ipmi/Internal/SoftPowerOff/meson.build (revision 62ce1594fde138f073749e0bc56f6a4f1bb6b204)
1c710b975SWilly Tusdbuspp_prog = find_program('sdbus++')
2c710b975SWilly Tu
3c710b975SWilly Tudomain = 'xyz.openbmc_project.Ipmi.Internal.SoftPowerOff'
4c710b975SWilly Tuif_yaml_file = files('../SoftPowerOff.interface.yaml')
5c710b975SWilly Tu
6c710b975SWilly Tuif_cpp = custom_target(
7c710b975SWilly Tu    'server.cpp',
8c710b975SWilly Tu    output: 'server.cpp',
9c710b975SWilly Tu    input: if_yaml_file,
10c710b975SWilly Tu    capture: true,
11*62ce1594SPatrick Williams    command: [sdbuspp_prog, '-r', root, 'interface', 'server-cpp', domain],
12*62ce1594SPatrick Williams)
13c710b975SWilly Tu
14c710b975SWilly Tuif_hpp = custom_target(
15c710b975SWilly Tu    'server.hpp',
16c710b975SWilly Tu    output: 'server.hpp',
17c710b975SWilly Tu    input: if_yaml_file,
18c710b975SWilly Tu    capture: true,
19c710b975SWilly Tu    command: [sdbuspp_prog, '-r', root, 'interface', 'server-header', domain],
20c710b975SWilly Tu    install: true,
21*62ce1594SPatrick Williams    install_dir: get_option('includedir') / 'xyz/openbmc_project/Ipmi/Internal/SoftPowerOff',
22*62ce1594SPatrick Williams)
23c710b975SWilly Tu
2468e82947SPatrick Williamsif_common_hpp = custom_target(
2568e82947SPatrick Williams    'common.hpp',
2668e82947SPatrick Williams    output: 'common.hpp',
2768e82947SPatrick Williams    input: if_yaml_file,
2868e82947SPatrick Williams    capture: true,
2968e82947SPatrick Williams    command: [sdbuspp_prog, '-r', root, 'interface', 'common-header', domain],
3068e82947SPatrick Williams    install: true,
31*62ce1594SPatrick Williams    install_dir: get_option('includedir') / 'xyz/openbmc_project/Ipmi/Internal/SoftPowerOff',
32*62ce1594SPatrick Williams)
3368e82947SPatrick Williams
34c710b975SWilly Tusoftoff_dbus_deps = [
35c710b975SWilly Tu    dependency('phosphor-dbus-interfaces'),
36c710b975SWilly Tu    dependency('sdbusplus'),
37c710b975SWilly Tu]
38c710b975SWilly Tu
39c710b975SWilly Tusoftoff_dbus_lib = library(
40c710b975SWilly Tu    'softoff-dbus',
41*62ce1594SPatrick Williams    [if_cpp, if_hpp, if_common_hpp],
42c710b975SWilly Tu    implicit_include_directories: false,
43c710b975SWilly Tu    include_directories: root_inc,
44c710b975SWilly Tu    version: meson.project_version(),
45c710b975SWilly Tu    dependencies: softoff_dbus_deps,
46c710b975SWilly Tu    override_options: ['b_lundef=false'],
47*62ce1594SPatrick Williams    install: true,
48*62ce1594SPatrick Williams)
49c710b975SWilly Tu
50c710b975SWilly Tusoftoff_dbus = declare_dependency(
51c710b975SWilly Tu    dependencies: softoff_dbus_deps,
5268e82947SPatrick Williams    sources: [if_hpp, if_common_hpp],
53*62ce1594SPatrick Williams    link_with: softoff_dbus_lib,
54*62ce1594SPatrick Williams)
55c710b975SWilly Tu
56c710b975SWilly Tusoftoff_dbus_reqs = []
57c710b975SWilly Tuforeach dep : softoff_dbus_deps
58c710b975SWilly Tu    if dep.type_name() == 'pkgconfig'
59c710b975SWilly Tu        softoff_dbus_reqs += dep
60c710b975SWilly Tu    endif
61c710b975SWilly Tuendforeach
62c710b975SWilly Tu
63c710b975SWilly Tuimport('pkgconfig').generate(
64c710b975SWilly Tu    name: 'softoff-dbus',
65c710b975SWilly Tu    description: 'SoftPowerOff DBus Bindings',
66c710b975SWilly Tu    version: meson.project_version(),
67c710b975SWilly Tu    libraries: softoff_dbus,
68*62ce1594SPatrick Williams    requires: softoff_dbus_reqs,
69*62ce1594SPatrick Williams)
70