| 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) |