blob: af453fe6e733909089bbfc1169cd7217907da49e [file] [log] [blame]
project('phosphor-time-manager',
'cpp',
version: '0.1',
meson_version: '>=0.53.2',
default_options: [ 'warning_level=3',
'werror=true',
'cpp_std=c++17',
'buildtype=debugoptimized' ])
########################################################################
# Project Links
project_pretty_name = 'phosphor-time-manager'
project_url = 'https://github.com/openbmc/' + project_pretty_name
project_issues_url = project_url + '/issues/new'
summary('Issue', project_issues_url, section : 'Report Issues')
#####################################################################
# Validate the c++ Standard
if get_option('cpp_std') != 'c++17'
error('This project requires cpp std to be in c++17 mode')
endif
#########################################################################
# Get Compiler and default build type
compiler = meson.get_compiler('cpp')
#########################################################################
# Find the dependencies
sdbusplus = dependency ('sdbusplus')
logging = dependency ('phosphor-logging')
dbus = dependency ('phosphor-dbus-interfaces')
deps = [sdbusplus, logging, dbus]
###########################################################################
# Get the config data and enable options
conf_data = configuration_data()
conf_data.set_quoted('BUSNAME', get_option('busname'))
conf_data.set_quoted('OBJPATH_BMC', get_option('obj_path_bmc'))
conf_data.set('DEFAULT_TIME_MODE', get_option('default_time_mode'))
configure_file(output: 'config.h', configuration: conf_data)
############################################################################
# Gather sources for the target binaries
phosphor_time_manager_sources = [
'epoch_base.cpp',
'bmc_epoch.cpp',
'manager.cpp',
'utils.cpp',
'settings.cpp',
]
libtimemanager = static_library('libtimemanager',
phosphor_time_manager_sources,
dependencies : deps)
############################################################################
# Build binaries
executable('phosphor-time-manager',
'main.cpp',
link_with : libtimemanager,
dependencies : deps,
install : true)
if get_option('tests').enabled()
subdir('test')
endif