xref: /openbmc/phosphor-net-ipmid/meson.build (revision 94f781a8)
1*94f781a8SGeorge Liuproject(
2*94f781a8SGeorge Liu    'phosphor-net-ipmid', 'cpp',
3*94f781a8SGeorge Liu    version : '1.0.0',
4*94f781a8SGeorge Liu    meson_version: '>=0.58.0',
5*94f781a8SGeorge Liu    default_options: [
6*94f781a8SGeorge Liu        'warning_level=3',
7*94f781a8SGeorge Liu        'werror=true',
8*94f781a8SGeorge Liu        'cpp_std=c++20',
9*94f781a8SGeorge Liu        'buildtype=debugoptimized',
10*94f781a8SGeorge Liu    ]
11*94f781a8SGeorge Liu)
12*94f781a8SGeorge Liu
13*94f781a8SGeorge Liuconf_data = configuration_data()
14*94f781a8SGeorge Liuconf_data.set('RMCP_PING', get_option('rmcp_ping').enabled())
15*94f781a8SGeorge Liu
16*94f781a8SGeorge Liuconfigure_file(output: 'config.h',
17*94f781a8SGeorge Liu    configuration: conf_data
18*94f781a8SGeorge Liu)
19*94f781a8SGeorge Liu
20*94f781a8SGeorge Liusdbusplus_dep = dependency('sdbusplus')
21*94f781a8SGeorge Liuphosphor_dbus_interfaces_dep = dependency('phosphor-dbus-interfaces')
22*94f781a8SGeorge Liuphosphor_logging_dep = dependency('phosphor-logging')
23*94f781a8SGeorge Liulibsystemd_dep = dependency('libsystemd')
24*94f781a8SGeorge Liulibcrypto_dep = dependency('libcrypto')
25*94f781a8SGeorge Liuipmid_dep = dependency('libipmid')
26*94f781a8SGeorge Liuuserlayer_dep = dependency('libuserlayer')
27*94f781a8SGeorge Liuchannellayer_dep = dependency('libchannellayer')
28*94f781a8SGeorge Liumapper = dependency('libmapper')
29*94f781a8SGeorge Liu
30*94f781a8SGeorge Liu# Project Arguments
31*94f781a8SGeorge Liucpp = meson.get_compiler('cpp')
32*94f781a8SGeorge Liuadd_project_arguments(
33*94f781a8SGeorge Liu  cpp.get_supported_arguments([
34*94f781a8SGeorge Liu    '-DBOOST_ERROR_CODE_HEADER_ONLY',
35*94f781a8SGeorge Liu    '-DBOOST_SYSTEM_NO_DEPRECATED',
36*94f781a8SGeorge Liu    '-DBOOST_COROUTINES_NO_DEPRECATION_WARNING',
37*94f781a8SGeorge Liu    '-DBOOST_ASIO_DISABLE_THREADS',
38*94f781a8SGeorge Liu    '-DBOOST_ALL_NO_LIB',
39*94f781a8SGeorge Liu  ]),
40*94f781a8SGeorge Liu  language : 'cpp')
41*94f781a8SGeorge Liu
42*94f781a8SGeorge Liudeps = [
43*94f781a8SGeorge Liu    ipmid_dep,
44*94f781a8SGeorge Liu    userlayer_dep,
45*94f781a8SGeorge Liu    channellayer_dep,
46*94f781a8SGeorge Liu    libcrypto_dep,
47*94f781a8SGeorge Liu    libsystemd_dep,
48*94f781a8SGeorge Liu    phosphor_dbus_interfaces_dep,
49*94f781a8SGeorge Liu    phosphor_logging_dep,
50*94f781a8SGeorge Liu    sdbusplus_dep,
51*94f781a8SGeorge Liu    mapper,
52*94f781a8SGeorge Liu]
53*94f781a8SGeorge Liu
54*94f781a8SGeorge Liusources = [
55*94f781a8SGeorge Liu    'auth_algo.cpp',
56*94f781a8SGeorge Liu    'sessions_manager.cpp',
57*94f781a8SGeorge Liu    'message_parsers.cpp',
58*94f781a8SGeorge Liu    'message_handler.cpp',
59*94f781a8SGeorge Liu    'command_table.cpp',
60*94f781a8SGeorge Liu    'command/channel_auth.cpp',
61*94f781a8SGeorge Liu    'command/guid.cpp',
62*94f781a8SGeorge Liu    'command/open_session.cpp',
63*94f781a8SGeorge Liu    'command/rakp12.cpp',
64*94f781a8SGeorge Liu    'command/rakp34.cpp',
65*94f781a8SGeorge Liu    'command/session_cmds.cpp',
66*94f781a8SGeorge Liu    'comm_module.cpp',
67*94f781a8SGeorge Liu    'main.cpp',
68*94f781a8SGeorge Liu    'integrity_algo.cpp',
69*94f781a8SGeorge Liu    'crypt_algo.cpp',
70*94f781a8SGeorge Liu    'sd_event_loop.cpp',
71*94f781a8SGeorge Liu    'sol/sol_manager.cpp',
72*94f781a8SGeorge Liu    'sol/sol_context.cpp',
73*94f781a8SGeorge Liu    'command/sol_cmds.cpp',
74*94f781a8SGeorge Liu    'command/payload_cmds.cpp',
75*94f781a8SGeorge Liu    'sol_module.cpp',
76*94f781a8SGeorge Liu]
77*94f781a8SGeorge Liu
78*94f781a8SGeorge Liuexecutable(
79*94f781a8SGeorge Liu    'netipmid',
80*94f781a8SGeorge Liu    sources,
81*94f781a8SGeorge Liu    implicit_include_directories: true,
82*94f781a8SGeorge Liu    include_directories: ['command', 'sol'],
83*94f781a8SGeorge Liu    dependencies: deps,
84*94f781a8SGeorge Liu    install: true,
85*94f781a8SGeorge Liu    install_dir: get_option('bindir')
86*94f781a8SGeorge Liu)
87*94f781a8SGeorge Liu
88*94f781a8SGeorge Liusystemd = dependency('systemd')
89*94f781a8SGeorge Liusystemd_system_unit_dir = systemd.get_variable(
90*94f781a8SGeorge Liu        pkgconfig: 'systemdsystemunitdir',
91*94f781a8SGeorge Liu        pkgconfig_define: ['prefix', get_option('prefix')])
92*94f781a8SGeorge Liu
93*94f781a8SGeorge Liuconfigure_file(input: 'phosphor-ipmi-net@.service',
94*94f781a8SGeorge Liu                output: 'phosphor-ipmi-net@.service',
95*94f781a8SGeorge Liu                copy: true,
96*94f781a8SGeorge Liu                install_dir: systemd_system_unit_dir)
97*94f781a8SGeorge Liu
98*94f781a8SGeorge Liuconfigure_file(input: 'phosphor-ipmi-net@.socket',
99*94f781a8SGeorge Liu                output: 'phosphor-ipmi-net@.socket',
100*94f781a8SGeorge Liu                copy: true,
101*94f781a8SGeorge Liu                install_dir: systemd_system_unit_dir)
102*94f781a8SGeorge Liu
103*94f781a8SGeorge Liubuild_tests = get_option('tests')
104*94f781a8SGeorge Liuif not build_tests.disabled()
105*94f781a8SGeorge Liu  subdir('test')
106*94f781a8SGeorge Liuendif
107