blob: 245d9cee73ed32f1fdd9e02c225b50436a748894 [file] [log] [blame]
William A. Kennington III8ec59e62019-04-03 13:38:17 -07001sdeventplus_deps = [
Patrick Williams9f2a21c2025-02-01 08:37:23 -05002 dependency('libsystemd', version: '>=240'),
3 dependency('stdplus'),
William A. Kennington III8ec59e62019-04-03 13:38:17 -07004]
William A. Kennington IIId4b33e92018-12-04 17:22:05 -08005
William A. Kennington III8ec59e62019-04-03 13:38:17 -07006sdeventplus_headers = include_directories('.')
7
8sdeventplus_lib = library(
Patrick Williams9f2a21c2025-02-01 08:37:23 -05009 'sdeventplus',
10 [
11 'sdeventplus/clock.cpp',
12 'sdeventplus/event.cpp',
13 'sdeventplus/exception.cpp',
14 'sdeventplus/internal/sdevent.cpp',
15 'sdeventplus/source/base.cpp',
16 'sdeventplus/source/child.cpp',
17 'sdeventplus/source/event.cpp',
18 'sdeventplus/source/io.cpp',
19 'sdeventplus/source/signal.cpp',
20 'sdeventplus/source/time.cpp',
21 'sdeventplus/utility/timer.cpp',
22 ],
23 include_directories: sdeventplus_headers,
24 implicit_include_directories: false,
25 version: meson.project_version(),
26 dependencies: sdeventplus_deps,
27 install: true,
28)
William A. Kennington IIId4b33e92018-12-04 17:22:05 -080029
Patrick Williamsfc18eb02021-04-15 14:55:58 -050030sdeventplus_dep = declare_dependency(
Patrick Williams9f2a21c2025-02-01 08:37:23 -050031 dependencies: sdeventplus_deps,
32 include_directories: sdeventplus_headers,
33 link_with: sdeventplus_lib,
34)
William A. Kennington III8ec59e62019-04-03 13:38:17 -070035
William A. Kennington III05784722020-06-03 00:48:02 -070036sdeventplus_reqs = []
37foreach dep : sdeventplus_deps
Patrick Williams9f2a21c2025-02-01 08:37:23 -050038 if dep.type_name() == 'pkgconfig'
39 sdeventplus_reqs += dep
40 endif
William A. Kennington III05784722020-06-03 00:48:02 -070041endforeach
42
William A. Kennington IIId4b33e92018-12-04 17:22:05 -080043import('pkgconfig').generate(
Patrick Williams9f2a21c2025-02-01 08:37:23 -050044 sdeventplus_lib,
45 description: 'C++ systemd event wrapper',
46 version: meson.project_version(),
47 requires: sdeventplus_reqs,
48)
William A. Kennington IIId4b33e92018-12-04 17:22:05 -080049
50install_headers(
Patrick Williams9f2a21c2025-02-01 08:37:23 -050051 'sdeventplus/clock.hpp',
52 'sdeventplus/event.hpp',
53 'sdeventplus/exception.hpp',
54 'sdeventplus/types.hpp',
55 subdir: 'sdeventplus',
56)
William A. Kennington IIId4b33e92018-12-04 17:22:05 -080057
58install_headers(
Patrick Williams9f2a21c2025-02-01 08:37:23 -050059 'sdeventplus/internal/sdevent.hpp',
60 subdir: 'sdeventplus/internal',
61)
William A. Kennington IIId4b33e92018-12-04 17:22:05 -080062
63install_headers(
Patrick Williams9f2a21c2025-02-01 08:37:23 -050064 'sdeventplus/source/base.hpp',
65 'sdeventplus/source/child.hpp',
66 'sdeventplus/source/event.hpp',
67 'sdeventplus/source/io.hpp',
68 'sdeventplus/source/signal.hpp',
69 'sdeventplus/source/time.hpp',
70 subdir: 'sdeventplus/source',
71)
72
73install_headers('sdeventplus/test/sdevent.hpp', subdir: 'sdeventplus/test')
William A. Kennington IIId4b33e92018-12-04 17:22:05 -080074
75install_headers(
Patrick Williams9f2a21c2025-02-01 08:37:23 -050076 'sdeventplus/utility/timer.hpp',
77 'sdeventplus/utility/sdbus.hpp',
78 subdir: 'sdeventplus/utility',
79)