1f254b06fSPatrick Williamsproject( 2f254b06fSPatrick Williams 'ipmbbridge', 3f254b06fSPatrick Williams 'cpp', 4f254b06fSPatrick Williams version: '0.1', 5e6b07fafSPatrick Williams meson_version: '>=1.1.1', 6f254b06fSPatrick Williams default_options: [ 7f254b06fSPatrick Williams 'warning_level=3', 8f254b06fSPatrick Williams 'werror=true', 9e6b07fafSPatrick Williams 'cpp_std=c++23', 10dcd3037bSKonstantin Aladyshev 'b_lto=true', 11f254b06fSPatrick Williams ], 12f254b06fSPatrick Williams) 13f254b06fSPatrick Williams 14f254b06fSPatrick Williamscpp = meson.get_compiler('cpp') 15f254b06fSPatrick Williamsadd_project_arguments( 16*43d840e7SPatrick Williams cpp.get_supported_arguments( 17*43d840e7SPatrick Williams [ 18f254b06fSPatrick Williams '-DBOOST_ERROR_CODE_HEADER_ONLY', 19f254b06fSPatrick Williams '-DBOOST_SYSTEM_NO_DEPRECATED', 20f254b06fSPatrick Williams '-DBOOST_ALL_NO_LIB', 21f254b06fSPatrick Williams '-DBOOST_NO_RTTI', 22f254b06fSPatrick Williams '-DBOOST_NO_TYPEID', 23f254b06fSPatrick Williams '-DBOOST_ASIO_DISABLE_THREADS', 24*43d840e7SPatrick Williams ], 25*43d840e7SPatrick Williams ), 26f254b06fSPatrick Williams language: 'cpp', 27f254b06fSPatrick Williams) 28f254b06fSPatrick Williams 29f254b06fSPatrick Williams 30f254b06fSPatrick Williamsboost_dep = dependency( 31f254b06fSPatrick Williams 'boost', 32f254b06fSPatrick Williams modules: ['coroutine'], 33f254b06fSPatrick Williams include_type: 'system', 34dcd3037bSKonstantin Aladyshev required: false, 35f254b06fSPatrick Williams) 36dcd3037bSKonstantin Aladyshev 37dcd3037bSKonstantin Aladyshevif not boost_dep.found() 38dcd3037bSKonstantin Aladyshev cmake = import('cmake') 39dcd3037bSKonstantin Aladyshev opt = cmake.subproject_options() 40*43d840e7SPatrick Williams opt.add_cmake_defines( 41*43d840e7SPatrick Williams {'BOOST_INCLUDE_LIBRARIES': 'asio;callable_traits;context;coroutine'}, 42*43d840e7SPatrick Williams ) 43dcd3037bSKonstantin Aladyshev boost_cmake = cmake.subproject('boost', required: true, options: opt) 44dcd3037bSKonstantin Aladyshev boost_asio = boost_cmake.dependency('boost_asio').as_system() 45dcd3037bSKonstantin Aladyshev boost_callable_traits = boost_cmake.dependency('boost_callable_traits').as_system() 46dcd3037bSKonstantin Aladyshev boost_context = boost_cmake.dependency('boost_context').as_system() 47dcd3037bSKonstantin Aladyshev boost_coroutine = boost_cmake.dependency('boost_coroutine').as_system() 48*43d840e7SPatrick Williams boost_dep = [ 49*43d840e7SPatrick Williams boost_asio, 50*43d840e7SPatrick Williams boost_callable_traits, 51*43d840e7SPatrick Williams boost_context, 52*43d840e7SPatrick Williams boost_coroutine, 53*43d840e7SPatrick Williams ] 54dcd3037bSKonstantin Aladyshevendif 55dcd3037bSKonstantin Aladyshev 56f254b06fSPatrick Williamsi2c_dep = cpp.find_library('i2c') 570afdd8ccSPatrick Williamsnlohmann_json_dep = dependency('nlohmann_json', include_type: 'system') 58f254b06fSPatrick Williamsphosphor_logging_dep = dependency('phosphor-logging') 59f254b06fSPatrick Williamssdbusplus_dep = dependency('sdbusplus') 60f254b06fSPatrick Williamssystemd_dep = dependency('systemd') 61f254b06fSPatrick Williams 62f254b06fSPatrick Williamsexecutable( 63315002a0SJorge Cisneros 'ipmbbridged', 64f254b06fSPatrick Williams 'ipmbbridged.cpp', 65f254b06fSPatrick Williams 'ipmbutils.cpp', 66f254b06fSPatrick Williams dependencies: [ 67f254b06fSPatrick Williams boost_dep, 68f254b06fSPatrick Williams i2c_dep, 69f254b06fSPatrick Williams nlohmann_json_dep, 70f254b06fSPatrick Williams phosphor_logging_dep, 71f254b06fSPatrick Williams sdbusplus_dep, 72f254b06fSPatrick Williams ], 73f254b06fSPatrick Williams install: true, 74f254b06fSPatrick Williams) 75f254b06fSPatrick Williams 76f254b06fSPatrick Williamsinstall_data( 77f254b06fSPatrick Williams 'ipmb.service', 783e9bd93cSPatrick Williams install_dir: systemd_dep.get_variable('systemdsystemunitdir'), 79f254b06fSPatrick Williams) 80f254b06fSPatrick Williams 81f254b06fSPatrick Williamsinstall_data( 82f254b06fSPatrick Williams 'ipmb-channels.json', 83f254b06fSPatrick Williams install_dir: get_option('datadir') / 'ipmbbridge', 84f254b06fSPatrick Williams) 85