182e9557eSTom Josephproject( 282e9557eSTom Joseph 'phosphor-srvcfg-manager', 382e9557eSTom Joseph 'cpp', 482e9557eSTom Joseph default_options: [ 582e9557eSTom Joseph 'warning_level=3', 682e9557eSTom Joseph 'werror=true', 7*053164c6SPatrick Williams 'cpp_std=c++20' 882e9557eSTom Joseph ], 982e9557eSTom Joseph license: 'Apache-2.0', 1082e9557eSTom Joseph version: '1.0', 11*053164c6SPatrick Williams meson_version: '>=0.57.0', 1282e9557eSTom Joseph) 1382e9557eSTom Joseph 1482e9557eSTom Joseph# Wno-psabi reduces the number of "Note:" messages when cross-compiling some STL 1582e9557eSTom Joseph# stuff for ARM. See https://stackoverflow.com/questions/48149323/strange-gcc-warning-when-compiling-qt-project 1682e9557eSTom Joseph# Basically, gcc 6 and gcc 7 are not ABI compatible, but since the whole OpenBMC 1782e9557eSTom Joseph# project uses the same compiler, we can safely ignmore these info notes. 1882e9557eSTom Josephadd_project_arguments('-Wno-psabi', language: 'cpp') 1982e9557eSTom Joseph 2082e9557eSTom Josephboost_args = ['-DBOOST_ALL_NO_LIB', 2182e9557eSTom Joseph '-DBOOST_ASIO_DISABLE_THREADS', 2282e9557eSTom Joseph '-DBOOST_COROUTINES_NO_DEPRECATION_WARNING', 2382e9557eSTom Joseph '-DBOOST_ERROR_CODE_HEADER_ONLY', 2482e9557eSTom Joseph '-DBOOST_NO_RTTI', 2582e9557eSTom Joseph '-DBOOST_NO_TYPEID', 2682e9557eSTom Joseph '-DBOOST_SYSTEM_NO_DEPRECATED'] 2782e9557eSTom Joseph 2882e9557eSTom Josephdeps = [dependency('boost'), 2982e9557eSTom Joseph dependency('boost', modules : ['coroutine']), 3082e9557eSTom Joseph dependency('phosphor-dbus-interfaces'), 3182e9557eSTom Joseph dependency('phosphor-logging'), 3282e9557eSTom Joseph dependency('sdbusplus'), 3382e9557eSTom Joseph dependency('systemd'), 3482e9557eSTom Joseph] 3582e9557eSTom Joseph 3682e9557eSTom Josephexecutable('phosphor-srvcfg-manager', 3782e9557eSTom Joseph 'src/main.cpp', 3882e9557eSTom Joseph 'src/srvcfg_manager.cpp', 3982e9557eSTom Joseph 'src/utils.cpp', 4082e9557eSTom Joseph implicit_include_directories: false, 4182e9557eSTom Joseph include_directories: ['inc'], 4282e9557eSTom Joseph dependencies: deps, 4382e9557eSTom Joseph cpp_args : boost_args, 4482e9557eSTom Joseph install: true, 4582e9557eSTom Joseph install_dir: get_option('bindir')) 4682e9557eSTom Joseph 4782e9557eSTom Josephsystemd = dependency('systemd') 4882e9557eSTom Josephsystemd_system_unit_dir = systemd.get_pkgconfig_variable( 4982e9557eSTom Joseph 'systemdsystemunitdir', 5082e9557eSTom Joseph define_variable: ['prefix', get_option('prefix')]) 5182e9557eSTom Joseph 5282e9557eSTom Josephconfigure_file( 5382e9557eSTom Joseph copy: true, 5482e9557eSTom Joseph input: 'srvcfg-manager.service', 5582e9557eSTom Joseph install: true, 5682e9557eSTom Joseph install_dir: systemd_system_unit_dir, 5782e9557eSTom Joseph output: 'srvcfg-manager.service' 5882e9557eSTom Joseph) 59