blob: b26500490ca24faffc7c4c6873cdbca14529b467 [file] [log] [blame]
project(
'ssifbridge',
'cpp',
meson_version: '>=1.1.1',
default_options: [
'buildtype=debugoptimized',
'warning_level=3',
'werror=true',
'cpp_std=c++23',
'b_lto=true',
],
version: '1.0',
)
add_project_arguments(
['-Wno-psabi', '-DBOOST_ASIO_DISABLE_THREADS', '-DBOOST_ASIO_NO_DEPRECATED'],
language: 'cpp',
)
sdbusplus = dependency('sdbusplus')
cli11 = dependency('CLI11')
phosphor_logging = dependency('phosphor-logging')
boost = dependency('boost', version: '>=1.83.0', required: false)
if not boost.found()
cmake = import('cmake')
opt = cmake.subproject_options()
opt.add_cmake_defines({'BOOST_INCLUDE_LIBRARIES': 'asio;callable_traits'})
boost_cmake = cmake.subproject('boost', required: true, options: opt)
boost_asio = boost_cmake.dependency('boost_asio').as_system()
boost_callable_traits = boost_cmake.dependency('boost_callable_traits').as_system()
boost = [boost_asio, boost_callable_traits]
endif
# Configure and install systemd unit files
systemd = dependency('systemd')
systemd_system_unit_dir = systemd.get_variable(
'systemdsystemunitdir',
pkgconfig_define: ['prefix', get_option('prefix')],
)
fs = import('fs')
fs.copyfile(
'ssifbridge.service',
install: true,
install_dir: systemd_system_unit_dir,
)
executable(
'ssifbridged',
'ssifbridged.cpp',
dependencies: [boost, sdbusplus, cli11, phosphor_logging],
install: true,
)