blob: 4203295ad343259735ecb308ed85d3996935f2af [file] [log] [blame]
project(
'phosphor-snmp', 'cpp',
version : '1.0.0',
meson_version: '>=1.1.1',
default_options: [
'warning_level=3',
'werror=true',
'cpp_std=c++23',
'buildtype=debugoptimized',
]
)
conf_data = configuration_data()
conf_data.set_quoted('BUSNAME_NETWORK_SNMP', 'xyz.openbmc_project.Network.SNMP')
conf_data.set_quoted('OBJ_NETWORK_SNMP', '/xyz/openbmc_project/network/snmp/manager')
conf_data.set_quoted('SNMP_CONF_PERSIST_PATH', '/var/lib/phosphor-snmp/managers/')
conf_data.set('CLASS_VERSION', 1)
sdbusplus_dep = dependency('sdbusplus')
phosphor_dbus_interfaces_dep = dependency('phosphor-dbus-interfaces')
phosphor_logging_dep = dependency('phosphor-logging')
libsystemd_dep = dependency('libsystemd')
netsnmp_dep = dependency('netsnmp')
libcrypto_dep = dependency('libcrypto')
snmp_headers = include_directories('.')
deps = [
libsystemd_dep,
phosphor_dbus_interfaces_dep,
phosphor_logging_dep,
sdbusplus_dep,
]
sources = [
'snmp_main.cpp',
'snmp_conf_manager.cpp',
'snmp_client.cpp',
'snmp_util.cpp',
'snmp_serialize.cpp',
]
configure_file(output: 'config.h',
configuration: conf_data
)
executable(
'phosphor-network-snmpconf',
sources,
implicit_include_directories: true,
dependencies: deps,
install: true,
install_dir: get_option('bindir')
)
libsnmp_deps = [
sdbusplus_dep,
phosphor_logging_dep,
phosphor_dbus_interfaces_dep,
netsnmp_dep,
libcrypto_dep,
]
libsnmp_sources = files(
'snmp_notification.cpp',
'snmp_util.cpp',
)
libsnmp_lib = library(
'snmp',
libsnmp_sources,
include_directories: snmp_headers,
implicit_include_directories: false,
dependencies: libsnmp_deps,
version: meson.project_version(),
install: true,
)
phosphor_snmp_dep = declare_dependency(
include_directories: snmp_headers,
link_with: libsnmp_lib,
)
import('pkgconfig').generate(
libsnmp_lib,
name: meson.project_name(),
version: meson.project_version(),
libraries: sdbusplus_dep,
description: 'Phosphor snmp utilities',
)
install_headers(
'snmp.hpp',
'snmp_notification.hpp',
subdir: '.',
)
build_tests = get_option('tests')
if not build_tests.disabled()
subdir('test')
endif