1sdeventplus_deps = [ 2 dependency('libsystemd', version: '>=240'), 3 dependency('stdplus'), 4] 5 6sdeventplus_headers = include_directories('.') 7 8sdeventplus_lib = library( 9 '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) 29 30sdeventplus_dep = declare_dependency( 31 dependencies: sdeventplus_deps, 32 include_directories: sdeventplus_headers, 33 link_with: sdeventplus_lib, 34) 35 36sdeventplus_reqs = [] 37foreach dep : sdeventplus_deps 38 if dep.type_name() == 'pkgconfig' 39 sdeventplus_reqs += dep 40 endif 41endforeach 42 43import('pkgconfig').generate( 44 sdeventplus_lib, 45 description: 'C++ systemd event wrapper', 46 version: meson.project_version(), 47 requires: sdeventplus_reqs, 48) 49 50install_headers( 51 'sdeventplus/clock.hpp', 52 'sdeventplus/event.hpp', 53 'sdeventplus/exception.hpp', 54 'sdeventplus/types.hpp', 55 subdir: 'sdeventplus', 56) 57 58install_headers( 59 'sdeventplus/internal/sdevent.hpp', 60 subdir: 'sdeventplus/internal', 61) 62 63install_headers( 64 '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') 74 75install_headers( 76 'sdeventplus/utility/timer.hpp', 77 'sdeventplus/utility/sdbus.hpp', 78 subdir: 'sdeventplus/utility', 79) 80