xref: /openbmc/dbus-sensors/meson.build (revision d7be555ee0d885418e9a862b16565a0474c68d14)
1feb19ef0SBrad Bishopproject(
2feb19ef0SBrad Bishop    'dbus-sensors',
3feb19ef0SBrad Bishop    'cpp',
4*77ae514bSPatrick Williams    default_options: ['warning_level=3', 'werror=true', 'cpp_std=c++23'],
5feb19ef0SBrad Bishop    license: 'Apache-2.0',
6feb19ef0SBrad Bishop    version: '0.1',
7*77ae514bSPatrick Williams    meson_version: '>=1.1.1',
8feb19ef0SBrad Bishop)
9feb19ef0SBrad Bishop
10a0c6b5b7SZhikui Ren# Enable io_uring for all daemons with below flags.
11a0c6b5b7SZhikui Ren#    '-DBOOST_ASIO_HAS_IO_URING',
12a0c6b5b7SZhikui Ren#    '-DBOOST_ASIO_DISABLE_EPOLL',
13a0c6b5b7SZhikui Ren# Note, there is currently an issue with CPUSensor when used in
14a0c6b5b7SZhikui Ren# conjunction with io_uring. So it has not been changed to use
15a0c6b5b7SZhikui Ren# random file access. But we'd like to enable it for all daemons.
1616966b55SEd Tanous# https://github.com/openbmc/dbus-sensors/issues/19
1716966b55SEd Tanous
18feb19ef0SBrad Bishopadd_project_arguments(
19e3b23c06SAndrew Jeffery    '-Wno-psabi',
20a771f6a7SEd Tanous    '-Wuninitialized',
21feb19ef0SBrad Bishop    '-DBOOST_SYSTEM_NO_DEPRECATED',
2283db50caSEd Tanous    '-DBOOST_ASIO_NO_DEPRECATED',
23feb19ef0SBrad Bishop    '-DBOOST_ERROR_CODE_HEADER_ONLY',
24feb19ef0SBrad Bishop    '-DBOOST_NO_RTTI',
25feb19ef0SBrad Bishop    '-DBOOST_NO_TYPEID',
26feb19ef0SBrad Bishop    '-DBOOST_ALL_NO_LIB',
27feb19ef0SBrad Bishop    '-DBOOST_ASIO_DISABLE_THREADS',
28feb19ef0SBrad Bishop    '-DBOOST_ALLOW_DEPRECATED_HEADERS',
29a0c6b5b7SZhikui Ren    '-DBOOST_ASIO_HAS_IO_URING',
30a0c6b5b7SZhikui Ren    '-DBOOST_ASIO_DISABLE_EPOLL',
31feb19ef0SBrad Bishop    language: 'cpp',
32feb19ef0SBrad Bishop)
33feb19ef0SBrad Bishop
34e4f21f80SAndrew Jefferythreads = dependency('threads')
352d66c241SAndrew Jeffery# i2c-tools doesn't ship a pkg-config file for libi2c
36feb19ef0SBrad Bishopi2c = meson.get_compiler('cpp').find_library('i2c')
372673b9a5SAndrew Jefferyuring = dependency('liburing', include_type: 'system')
38e4f21f80SAndrew Jefferynlohmann_json_dep = dependency('nlohmann_json', include_type: 'system')
39e4f21f80SAndrew Jefferygpiodcxx = dependency('libgpiodcxx', default_options: ['bindings=cxx'])
40a47e082eSAndrew Jefferyboost = dependency('boost', version: '>=1.83.0', include_type: 'system')
41e4f21f80SAndrew Jefferysdbusplus = dependency('sdbusplus', include_type: 'system')
42e4f21f80SAndrew Jefferyphosphor_logging_dep = dependency('phosphor-logging')
4316966b55SEd Tanous
44302a61a5SPatrick Williamsdefault_deps = [
4516966b55SEd Tanous    boost,
46ab570a60SPatrick Williams    nlohmann_json_dep,
470c42f40eSPatrick Williams    phosphor_logging_dep,
48302a61a5SPatrick Williams    sdbusplus,
4916966b55SEd Tanous    uring,
50302a61a5SPatrick Williams]
51302a61a5SPatrick Williams
52feb19ef0SBrad Bishopsubdir('service_files')
53feb19ef0SBrad Bishopsubdir('src')
54