1project( 2 'dbus-sensors', 3 'cpp', 4 default_options: [ 5 'warning_level=3', 6 'werror=true', 7 'cpp_std=c++20' 8 ], 9 license: 'Apache-2.0', 10 version: '0.1', 11 meson_version: '>=0.57.0', 12) 13 14add_project_arguments( 15 '-DBOOST_SYSTEM_NO_DEPRECATED', 16 '-DBOOST_ERROR_CODE_HEADER_ONLY', 17 '-DBOOST_NO_RTTI', 18 '-DBOOST_NO_TYPEID', 19 '-DBOOST_ALL_NO_LIB', 20 '-DBOOST_ASIO_DISABLE_THREADS', 21 '-DBOOST_ALLOW_DEPRECATED_HEADERS', 22 language: 'cpp', 23) 24 25build_tests = get_option('tests') 26gpiodcxx = dependency( 27 'libgpiodcxx', 28 fallback: ['libgpiod', 'gpiodcxx_dep'], 29 default_options: ['bindings=cxx'], 30) 31 32# i2c-tools doesn't ship a pkg-config file for libi2c 33i2c = meson.get_compiler('cpp').find_library('i2c') 34 35sdbusplus = dependency( 36 'sdbusplus', 37 fallback: [ 38 'sdbusplus', 39 'sdbusplus_dep' 40 ], 41) 42 43systemd = dependency('systemd') 44systemd_system_unit_dir = systemd.get_variable( 45 pkgconfig: 'systemdsystemunitdir', 46 pkgconfig_define: ['prefix', get_option('prefix')]) 47threads = dependency('threads') 48 49thresholds_a = static_library( 50 'thresholds_a', 51 'src/Thresholds.cpp', 52 dependencies: [ sdbusplus ], 53 implicit_include_directories: false, 54 include_directories: 'include', 55) 56 57utils_a = static_library( 58 'utils_a', 59 ['src/Utils.cpp', 'src/SensorPaths.cpp'], 60 dependencies: [ sdbusplus ], 61 implicit_include_directories: false, 62 include_directories: 'include', 63) 64 65pwmsensor_a = static_library( 66 'pwmsensor_a', 67 'src/PwmSensor.cpp', 68 dependencies: [ sdbusplus ], 69 implicit_include_directories: false, 70 include_directories: 'include', 71) 72 73subdir('include') 74subdir('service_files') 75subdir('src') 76 77if not build_tests.disabled() 78 subdir('tests') 79endif 80