blob: 7edf7de9a0ef0e7bc461b020383efa6e61e948b9 [file] [log] [blame]
Patrick Williamsad145e02020-05-19 16:45:15 -05001project('sdbusplus', 'cpp', 'c',
Patrick Williams98d71082020-05-15 18:55:16 -05002 default_options: [
Patrick Williamsfeb48472020-05-19 06:23:10 -05003 'buildtype=debugoptimized',
Patrick Williams98d71082020-05-15 18:55:16 -05004 'cpp_std=c++17',
5 'werror=true',
William A. Kennington IIIf05b4ca2020-06-04 02:48:52 -07006 'tests=' + (meson.is_subproject() ? 'disabled' : 'auto'),
7 'examples=' + (meson.is_subproject() ? 'disabled' : 'auto'),
Patrick Williams98d71082020-05-15 18:55:16 -05008 ],
9 version: '1.0.0',
10)
11
12libsystemd_pkg = dependency('libsystemd')
Patrick Williams7f664252020-06-04 10:20:56 -050013root_inc = include_directories('include')
Patrick Williams98d71082020-05-15 18:55:16 -050014
15libsdbusplus_src = files(
Patrick Williams7f664252020-06-04 10:20:56 -050016 'src/exception.cpp',
17 'src/sdbus.cpp',
18 'src/server/transaction.cpp',
Patrick Williams98d71082020-05-15 18:55:16 -050019)
20
William A. Kennington IIIf69a8b72020-05-28 12:59:40 -070021libsdbusplus = library(
Patrick Williams98d71082020-05-15 18:55:16 -050022 'sdbusplus',
23 libsdbusplus_src,
Patrick Williams7f664252020-06-04 10:20:56 -050024 include_directories: root_inc,
Patrick Williams98d71082020-05-15 18:55:16 -050025 dependencies: libsystemd_pkg,
26 version: meson.project_version(),
27 install: true,
28)
29
Patrick Williamsd0285b92020-06-01 09:43:47 -050030sdbusplus_dep = declare_dependency(
31 include_directories: root_inc,
32 link_with: libsdbusplus,
33 dependencies: libsystemd_pkg
34)
35
Patrick Williamsad145e02020-05-19 16:45:15 -050036subdir('tools')
37
Patrick Williams3a6d5842020-06-09 14:59:58 -050038boost_dep = dependency(
39 'boost',
40 disabler: true,
41 required: false,
Patrick Williams3f90a142020-06-09 15:44:13 -050042 modules: [ 'coroutine', 'context' ],
Patrick Williams3a6d5842020-06-09 14:59:58 -050043)
Patrick Williamsad145e02020-05-19 16:45:15 -050044
William A. Kennington III5e893b92020-06-04 02:47:29 -070045if not get_option('examples').disabled()
46 subdir('example')
47endif
48if not get_option('tests').disabled()
49 subdir('test')
50endif
Patrick Williamsad145e02020-05-19 16:45:15 -050051
Patrick Williams98d71082020-05-15 18:55:16 -050052install_subdir(
Patrick Williams7f664252020-06-04 10:20:56 -050053 'include/sdbusplus',
Patrick Williams98d71082020-05-15 18:55:16 -050054 install_dir: get_option('includedir'),
55 strip_directory: false,
Patrick Williams98d71082020-05-15 18:55:16 -050056)
57
58import('pkgconfig').generate(
59 libraries: libsdbusplus,
60 name: meson.project_name(),
61 version: meson.project_version(),
Patrick Williamsfa3137a2020-05-28 14:49:15 -050062 requires: libsystemd_pkg,
Patrick Williams98d71082020-05-15 18:55:16 -050063 description: 'C++ bindings for sdbus',
64)