1*76ca53e6SPatrick Williamsproject( 2*76ca53e6SPatrick Williams 'phosphor-time-manager', 38af2a894SRatan Gupta 'cpp', 48af2a894SRatan Gupta version: '0.1', 54f0dfa2cSPatrick Williams meson_version: '>=1.1.1', 6*76ca53e6SPatrick Williams default_options: [ 7*76ca53e6SPatrick Williams 'warning_level=3', 88af2a894SRatan Gupta 'werror=true', 94f0dfa2cSPatrick Williams 'cpp_std=c++23', 10*76ca53e6SPatrick Williams 'buildtype=debugoptimized', 11*76ca53e6SPatrick Williams ], 12*76ca53e6SPatrick Williams) 138af2a894SRatan Gupta 148af2a894SRatan Gupta######################################################################## 158af2a894SRatan Gupta 168af2a894SRatan Gupta# Project Links 178af2a894SRatan Gupta 188af2a894SRatan Guptaproject_pretty_name = 'phosphor-time-manager' 198af2a894SRatan Guptaproject_url = 'https://github.com/openbmc/' + project_pretty_name 208af2a894SRatan Guptaproject_issues_url = project_url + '/issues/new' 218af2a894SRatan Gupta 228af2a894SRatan Guptasummary('Issue', project_issues_url, section: 'Report Issues') 238af2a894SRatan Gupta 248af2a894SRatan Gupta##################################################################### 258af2a894SRatan Gupta 268af2a894SRatan Gupta# Get Compiler and default build type 278af2a894SRatan Gupta 288af2a894SRatan Guptacompiler = meson.get_compiler('cpp') 298af2a894SRatan Gupta 308af2a894SRatan Gupta######################################################################### 318af2a894SRatan Gupta 328af2a894SRatan Gupta# Find the dependencies 338af2a894SRatan Gupta 340fb8ed4dSGeorge Liusdbusplus_dep = dependency('sdbusplus') 350fb8ed4dSGeorge Liuphosphor_logging_dep = dependency('phosphor-logging') 360fb8ed4dSGeorge Liuphosphor_dbus_interfaces_dep = dependency('phosphor-dbus-interfaces') 37*76ca53e6SPatrick Williamsdeps = [sdbusplus_dep, phosphor_logging_dep, phosphor_dbus_interfaces_dep] 388af2a894SRatan Gupta 398af2a894SRatan Gupta########################################################################### 408af2a894SRatan Gupta 418af2a894SRatan Gupta# Get the config data and enable options 428af2a894SRatan Gupta 438af2a894SRatan Guptaconf_data = configuration_data() 448af2a894SRatan Guptaconf_data.set('DEFAULT_TIME_MODE', get_option('default_time_mode')) 45*76ca53e6SPatrick Williamsconf_data.set_quoted( 46*76ca53e6SPatrick Williams 'DEFAULT_TIME_SYNC_OBJECT_PATH', 47*76ca53e6SPatrick Williams get_option('default_time_sync_object_path'), 48*76ca53e6SPatrick Williams) 498af2a894SRatan Gupta 508af2a894SRatan Guptaconfigure_file(output: 'config.h', configuration: conf_data) 518af2a894SRatan Gupta 528af2a894SRatan Gupta 538af2a894SRatan Gupta############################################################################ 548af2a894SRatan Gupta 558af2a894SRatan Gupta# Gather sources for the target binaries 568af2a894SRatan Gupta 578af2a894SRatan Guptaphosphor_time_manager_sources = [ 588af2a894SRatan Gupta 'bmc_epoch.cpp', 598af2a894SRatan Gupta 'manager.cpp', 608af2a894SRatan Gupta 'utils.cpp', 618af2a894SRatan Gupta 'settings.cpp', 628af2a894SRatan Gupta] 638af2a894SRatan Gupta 64*76ca53e6SPatrick Williamslibtimemanager = static_library( 65*76ca53e6SPatrick Williams 'libtimemanager', 668af2a894SRatan Gupta phosphor_time_manager_sources, 67*76ca53e6SPatrick Williams dependencies: deps, 68*76ca53e6SPatrick Williams) 698af2a894SRatan Gupta############################################################################ 708af2a894SRatan Gupta 71f901e9ceSRatan Gupta# Install the files into the build directory 72f901e9ceSRatan Gupta 73f901e9ceSRatan Guptasystemd = dependency('systemd') 74667563c3SPavithra Barithayasystemd_system_unit_dir = systemd.get_variable( 754c5143f0SPatrick Williams 'systemdsystemunitdir', 76*76ca53e6SPatrick Williams pkgconfig_define: ['prefix', get_option('prefix')], 77*76ca53e6SPatrick Williams) 7883a3bfe7SManojkiran Eda 7983a3bfe7SManojkiran Edafilesystem = import('fs') 80*76ca53e6SPatrick Williamsfilesystem.copyfile( 81*76ca53e6SPatrick Williams 'xyz.openbmc_project.Time.Manager.service', 8283a3bfe7SManojkiran Eda install: true, 83*76ca53e6SPatrick Williams install_dir: systemd_system_unit_dir, 84*76ca53e6SPatrick Williams) 85f901e9ceSRatan Gupta 86f901e9ceSRatan Gupta############################################################################# 87f901e9ceSRatan Gupta 888af2a894SRatan Gupta# Build binaries 898af2a894SRatan Gupta 90*76ca53e6SPatrick Williamsexecutable( 91*76ca53e6SPatrick Williams 'phosphor-time-manager', 928af2a894SRatan Gupta 'main.cpp', 938af2a894SRatan Gupta link_with: libtimemanager, 948af2a894SRatan Gupta dependencies: deps, 95*76ca53e6SPatrick Williams install: true, 96*76ca53e6SPatrick Williams) 978af2a894SRatan Gupta 9831ca09abSPatrick Williamsif get_option('tests').allowed() 998af2a894SRatan Gupta subdir('test') 1008af2a894SRatan Guptaendif 101