blob: 2389f472aef7252bcf70fb414515a8ee595dafdc [file] [log] [blame]
project(
'phosphor-ipmi-blobs',
'cpp',
version: '0.1',
meson_version: '>=1.1.1',
default_options: ['cpp_std=c++23', '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(),
)
cpp = meson.get_compiler('cpp')
phosphor_logging_dep = dependency('phosphor-logging')
ipmid_dep = dependency('libipmid')
channellayer_dep = dependency('libchannellayer')
blob_manager_pre = declare_dependency(
dependencies: [
ipmi_blob_dep,
dependency('ipmiblob'),
ipmid_dep,
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, ipmid_dep, channellayer_dep],
install: true,
install_dir: get_option('libdir') / 'ipmid-providers',
)
if get_option('examples')
subdir('example')
endif
if get_option('tests').allowed()
subdir('test')
endif