1dd6efd17SPatrick Williamsproject( 2dd6efd17SPatrick Williams 'sdbusplus', 3dd6efd17SPatrick Williams 'cpp', 4dd6efd17SPatrick Williams 'c', 598d71080SPatrick Williams default_options: [ 6feb48472SPatrick Williams 'buildtype=debugoptimized', 7798848deSPatrick Williams 'cpp_std=c++23', 8601d975bSPatrick Williams 'warning_level=3', 998d71080SPatrick Williams 'werror=true', 10f05b4ca2SWilliam A. Kennington III 'tests=' + (meson.is_subproject() ? 'disabled' : 'auto'), 11f05b4ca2SWilliam A. Kennington III 'examples=' + (meson.is_subproject() ? 'disabled' : 'auto'), 1298d71080SPatrick Williams ], 1398d71080SPatrick Williams version: '1.0.0', 14798848deSPatrick Williams meson_version: '>=1.1.1', 1598d71080SPatrick Williams) 16*da8574d5SEd Tanouscxx = meson.get_compiler('cpp') 17*da8574d5SEd Tanousif (cxx.get_id() == 'clang') 18*da8574d5SEd Tanous add_project_arguments(['-Wno-c++26-extensions'], language: 'cpp') 19*da8574d5SEd Tanousendif 2098d71080SPatrick Williams 2198d71080SPatrick Williamslibsystemd_pkg = dependency('libsystemd') 2214c4797cSPatrick Williamsnlohmann_json_dep = dependency('nlohmann_json', include_type: 'system') 2322a03e31SManojkiran Eda 2422a03e31SManojkiran Edapython = import('python') 25dd6efd17SPatrick Williamspython_bin = python.find_installation( 26dd6efd17SPatrick Williams 'python3', 27dd6efd17SPatrick Williams modules: ['inflection', 'yaml', 'mako'], 28dd6efd17SPatrick Williams) 2922a03e31SManojkiran Eda 3022a03e31SManojkiran Edaif not python_bin.found() 3122a03e31SManojkiran Eda error('No valid python3 installation found') 3222a03e31SManojkiran Edaendif 3322a03e31SManojkiran Eda 347f664254SPatrick Williamsroot_inc = include_directories('include') 3598d71080SPatrick Williams 3698d71080SPatrick Williamslibsdbusplus_src = files( 3774187667SPatrick Williams 'src/async/context.cpp', 382a12ae12SJagpal Singh Gill 'src/async/fdio.cpp', 39dd6efd17SPatrick Williams 'src/async/match.cpp', 4032ffb03dSPatrick Williams 'src/bus.cpp', 41fc73b395SWillam A. Kennington III 'src/bus/match.cpp', 42d2b00440SPatrick Williams 'src/event.cpp', 4374187667SPatrick Williams 'src/exception.cpp', 44226bc42aSWilliam A. Kennington III 'src/message/native_types.cpp', 457f664254SPatrick Williams 'src/sdbus.cpp', 4632ffb03dSPatrick Williams 'src/server/interface.cpp', 477f664254SPatrick Williams 'src/server/transaction.cpp', 4898d71080SPatrick Williams) 4998d71080SPatrick Williams 50f69a8b7aSWilliam A. Kennington IIIlibsdbusplus = library( 5198d71080SPatrick Williams 'sdbusplus', 5298d71080SPatrick Williams libsdbusplus_src, 537f664254SPatrick Williams include_directories: root_inc, 54dd6efd17SPatrick Williams dependencies: [libsystemd_pkg, nlohmann_json_dep], 5598d71080SPatrick Williams version: meson.project_version(), 5698d71080SPatrick Williams install: true, 5798d71080SPatrick Williams) 5898d71080SPatrick Williams 59270f242cSWilliam A. Kennington IIIboost_compile_args = [ 60270f242cSWilliam A. Kennington III '-DBOOST_ASIO_DISABLE_THREADS', 61270f242cSWilliam A. Kennington III '-DBOOST_ALL_NO_LIB', 62270f242cSWilliam A. Kennington III '-DBOOST_SYSTEM_NO_DEPRECATED', 63270f242cSWilliam A. Kennington III '-DBOOST_ERROR_CODE_HEADER_ONLY', 64270f242cSWilliam A. Kennington III '-DBOOST_COROUTINES_NO_DEPRECATION_WARNING', 65270f242cSWilliam A. Kennington III] 66270f242cSWilliam A. Kennington III 67270f242cSWilliam A. Kennington IIIboost_dep = declare_dependency( 68270f242cSWilliam A. Kennington III dependencies: dependency('boost', required: false), 69dd6efd17SPatrick Williams compile_args: boost_compile_args, 70dd6efd17SPatrick Williams) 71270f242cSWilliam A. Kennington III 72d0285b92SPatrick Williamssdbusplus_dep = declare_dependency( 73d0285b92SPatrick Williams include_directories: root_inc, 74d0285b92SPatrick Williams link_with: libsdbusplus, 75dd6efd17SPatrick Williams dependencies: [boost_dep, libsystemd_pkg, nlohmann_json_dep], 76d0285b92SPatrick Williams) 77d0285b92SPatrick Williams 7874eea519SPatrick Williamsshould_generate_cpp = true 7974eea519SPatrick Williamsshould_generate_markdown = false 8074eea519SPatrick Williamsshould_generate_registry = false 8174eea519SPatrick Williams 82ad145e09SPatrick Williamssubdir('tools') 83ad145e09SPatrick Williams 84892a23a9SPatrick Williamsif get_option('examples').allowed() 85ad145e09SPatrick Williams subdir('example') 865e893b9dSWilliam A. Kennington IIIendif 87892a23a9SPatrick Williamsif get_option('tests').allowed() 88ad145e09SPatrick Williams subdir('test') 895e893b9dSWilliam A. Kennington IIIendif 90ad145e09SPatrick Williams 9198d71080SPatrick Williamsinstall_subdir( 927f664254SPatrick Williams 'include/sdbusplus', 9398d71080SPatrick Williams install_dir: get_option('includedir'), 9498d71080SPatrick Williams strip_directory: false, 9598d71080SPatrick Williams) 9698d71080SPatrick Williams 9798d71080SPatrick Williamsimport('pkgconfig').generate( 98fe0edaa5SPatrick Williams libsdbusplus, 9998d71080SPatrick Williams name: meson.project_name(), 10098d71080SPatrick Williams version: meson.project_version(), 101fa3137a7SPatrick Williams requires: libsystemd_pkg, 102270f242cSWilliam A. Kennington III extra_cflags: boost_compile_args, 10398d71080SPatrick Williams description: 'C++ bindings for sdbus', 10498d71080SPatrick Williams) 105