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