project( 'phosphor-ipmi-blobs', 'cpp', version: '0.1', meson_version: '>=0.51.0', default_options: [ 'cpp_std=c++17', 'warning_level=3', 'werror=true', ]) ipmi_blob_dep = declare_dependency( include_directories: include_directories('.')) install_headers( 'blobs-ipmid/blobs.hpp', subdir: 'blobs-ipmid') import('pkgconfig').generate( name: 'phosphor-ipmi-blobs', description: 'Phosphor Blob Transfer Interface', version: meson.project_version()) phosphor_logging_dep = dependency('phosphor-logging') blob_manager_pre = declare_dependency( dependencies: [ ipmi_blob_dep, dependency('ipmiblob'), phosphor_logging_dep, ]) blob_manager_lib = static_library( 'blobmanager', 'fs.cpp', 'internal/sys.cpp', 'ipmi.cpp', 'manager.cpp', 'process.cpp', 'utils.cpp', implicit_include_directories: false, dependencies: blob_manager_pre) blob_manager_dep = declare_dependency( link_with: blob_manager_lib, dependencies: blob_manager_pre) conf_data = configuration_data() conf_data.set_quoted( 'BLOB_LIB_PATH', get_option('prefix') / get_option('libdir') / 'blob-ipmid') conf_h = configure_file( output: 'config.h', configuration: conf_data) shared_module( 'blobmanager', conf_h, 'main.cpp', implicit_include_directories: false, dependencies: [ blob_manager_dep, dependency('libipmid'), ], install: true, install_dir: get_option('libdir') / 'ipmid-providers') if get_option('examples') subdir('example') endif if not get_option('tests').disabled() subdir('test') endif