blob: 05aa6231057eefab593520c4814b71faf8be9ef1 [file] [log] [blame]
project(
'phosphor-net-ipmid', 'cpp',
version : '1.0.0',
meson_version: '>=0.58.0',
default_options: [
'warning_level=3',
'werror=true',
'cpp_std=c++20',
'buildtype=debugoptimized',
]
)
conf_data = configuration_data()
conf_data.set('RMCP_PING', get_option('rmcp_ping').enabled())
configure_file(output: 'config.h',
configuration: conf_data
)
sdbusplus_dep = dependency('sdbusplus')
phosphor_dbus_interfaces_dep = dependency('phosphor-dbus-interfaces')
phosphor_logging_dep = dependency('phosphor-logging')
libsystemd_dep = dependency('libsystemd')
libcrypto_dep = dependency('libcrypto')
ipmid_dep = dependency('libipmid')
userlayer_dep = dependency('libuserlayer')
channellayer_dep = dependency('libchannellayer')
mapper = dependency('libmapper')
# Project Arguments
cpp = meson.get_compiler('cpp')
add_project_arguments(
cpp.get_supported_arguments([
'-DBOOST_ERROR_CODE_HEADER_ONLY',
'-DBOOST_SYSTEM_NO_DEPRECATED',
'-DBOOST_COROUTINES_NO_DEPRECATION_WARNING',
'-DBOOST_ASIO_DISABLE_THREADS',
'-DBOOST_ALL_NO_LIB',
]),
language : 'cpp')
deps = [
ipmid_dep,
userlayer_dep,
channellayer_dep,
libcrypto_dep,
libsystemd_dep,
phosphor_dbus_interfaces_dep,
phosphor_logging_dep,
sdbusplus_dep,
mapper,
]
sources = [
'auth_algo.cpp',
'sessions_manager.cpp',
'message_parsers.cpp',
'message_handler.cpp',
'command_table.cpp',
'command/channel_auth.cpp',
'command/guid.cpp',
'command/open_session.cpp',
'command/rakp12.cpp',
'command/rakp34.cpp',
'command/session_cmds.cpp',
'comm_module.cpp',
'main.cpp',
'integrity_algo.cpp',
'crypt_algo.cpp',
'sd_event_loop.cpp',
'sol/sol_manager.cpp',
'sol/sol_context.cpp',
'command/sol_cmds.cpp',
'command/payload_cmds.cpp',
'sol_module.cpp',
]
executable(
'netipmid',
sources,
implicit_include_directories: true,
include_directories: ['command', 'sol'],
dependencies: deps,
install: true,
install_dir: get_option('bindir')
)
systemd = dependency('systemd')
systemd_system_unit_dir = systemd.get_variable(
pkgconfig: 'systemdsystemunitdir',
pkgconfig_define: ['prefix', get_option('prefix')])
configure_file(input: 'phosphor-ipmi-net@.service',
output: 'phosphor-ipmi-net@.service',
copy: true,
install_dir: systemd_system_unit_dir)
configure_file(input: 'phosphor-ipmi-net@.socket',
output: 'phosphor-ipmi-net@.socket',
copy: true,
install_dir: systemd_system_unit_dir)
build_tests = get_option('tests')
if not build_tests.disabled()
subdir('test')
endif