1abcc94faSVijay Khemkaproject( 2abcc94faSVijay Khemka 'phosphor-virtual-sensor', 3abcc94faSVijay Khemka 'cpp', 4abcc94faSVijay Khemka version: '1.0', 5abcc94faSVijay Khemka default_options: [ 6ff2df996SPatrick Williams 'buildtype=debugoptimized', 7ce4241cbSPatrick Williams 'cpp_std=c++23', 8ff2df996SPatrick Williams 'warning_level=3', 9ff2df996SPatrick Williams 'werror=true', 10abcc94faSVijay Khemka ], 11ce4241cbSPatrick Williams meson_version: '>=1.1.1', 12abcc94faSVijay Khemka) 13abcc94faSVijay Khemka 143ed9a516SVijay Khemkacpp = meson.get_compiler('cpp') 153ed9a516SVijay Khemkaif cpp.has_header('exprtk.hpp') 163ed9a516SVijay Khemka exprtk = declare_dependency() 173ed9a516SVijay Khemkaelse 183ed9a516SVijay Khemka subproject('exprtk', required: false) 19*4b98de56SPatrick Williams exprtk = declare_dependency(include_directories: 'subprojects/exprtk') 203ed9a516SVijay Khemkaendif 213ed9a516SVijay Khemka 22abcc94faSVijay Khemkaexecutable( 23abcc94faSVijay Khemka 'virtual-sensor', 24abcc94faSVijay Khemka [ 257f41a0d4SGeorge Liu 'calculate.cpp', 26f2e94221STao Lin 'dbusSensor.cpp', 27f2e94221STao Lin 'dbusUtils.cpp', 28d98174e9SGeorge Liu 'main.cpp', 29d98174e9SGeorge Liu 'virtualSensor.cpp', 30abcc94faSVijay Khemka ], 31abcc94faSVijay Khemka dependencies: [ 3296439f1fSPatrick Williams dependency('nlohmann_json', include_type: 'system'), 33b729eac5SPatrick Williams dependency('phosphor-dbus-interfaces'), 34b729eac5SPatrick Williams dependency('phosphor-logging'), 35b729eac5SPatrick Williams dependency('sdbusplus'), 363ed9a516SVijay Khemka exprtk, 37abcc94faSVijay Khemka ], 38abcc94faSVijay Khemka install: true, 39*4b98de56SPatrick Williams install_dir: get_option('bindir'), 40abcc94faSVijay Khemka) 41abcc94faSVijay Khemka 42abcc94faSVijay Khemkapackagedir = join_paths( 43abcc94faSVijay Khemka get_option('prefix'), 44abcc94faSVijay Khemka get_option('datadir'), 45abcc94faSVijay Khemka meson.project_name(), 46abcc94faSVijay Khemka) 47abcc94faSVijay Khemka 4832dff21bSPatrick Williamsinstall_data(sources: 'virtual_sensor_config.json', install_dir: packagedir) 49abcc94faSVijay Khemka 50abcc94faSVijay Khemkasystemd = dependency('systemd') 51abcc94faSVijay Khemkaconf_data = configuration_data() 52abcc94faSVijay Khemkaconf_data.set('bindir', get_option('prefix') / get_option('bindir')) 53abcc94faSVijay Khemkaconfigure_file( 54abcc94faSVijay Khemka input: 'phosphor-virtual-sensor.service.in', 55abcc94faSVijay Khemka output: 'phosphor-virtual-sensor.service', 56abcc94faSVijay Khemka configuration: conf_data, 57abcc94faSVijay Khemka install: true, 58*4b98de56SPatrick Williams install_dir: systemd.get_variable('systemdsystemunitdir'), 59*4b98de56SPatrick Williams) 6014ef8742SLei YU 6114ef8742SLei YUbuild_tests = get_option('tests') 6276e6c5afSPatrick Williamsif build_tests.allowed() 6314ef8742SLei YU subdir('test') 6414ef8742SLei YUendif 65