1project( 2 'phosphor-ipmi-blobs', 3 'cpp', 4 version: '0.1', 5 meson_version: '>=0.51.0', 6 default_options: [ 7 'cpp_std=c++17', 8 'warning_level=3', 9 'werror=true', 10 ]) 11 12ipmi_blob_dep = declare_dependency( 13 include_directories: include_directories('.')) 14 15import('pkgconfig').generate( 16 name: 'phosphor-ipmi-blobs', 17 description: 'Phosphor Blob Transfer Interface', 18 version: meson.project_version()) 19 20phosphor_logging_dep = dependency('phosphor-logging') 21 22blob_manager_pre = declare_dependency( 23 dependencies: [ 24 ipmi_blob_dep, 25 dependency('ipmiblob'), 26 phosphor_logging_dep, 27 ]) 28 29blob_manager_lib = static_library( 30 'blobmanager', 31 'fs.cpp', 32 'internal/sys.cpp', 33 'ipmi.cpp', 34 'manager.cpp', 35 'process.cpp', 36 'utils.cpp', 37 implicit_include_directories: false, 38 dependencies: blob_manager_pre) 39 40blob_manager_dep = declare_dependency( 41 link_with: blob_manager_lib, 42 dependencies: blob_manager_pre) 43 44conf_data = configuration_data() 45conf_data.set_quoted( 46 'BLOB_LIB_PATH', 47 get_option('prefix') / get_option('libdir') / 'blob-ipmid') 48conf_h = configure_file( 49 output: 'config.h', 50 configuration: conf_data) 51 52shared_module( 53 'blobmanager', 54 conf_h, 55 'main.cpp', 56 implicit_include_directories: false, 57 dependencies: [ 58 blob_manager_dep, 59 dependency('libipmid'), 60 ], 61 install: true, 62 install_dir: get_option('libdir') / 'ipmid-providers') 63 64if get_option('examples') 65 subdir('example') 66endif 67 68if not get_option('tests').disabled() 69 subdir('test') 70endif 71