1sdeventplus_deps = [ 2 dependency('libsystemd', version: '>=239'), 3 dependency('stdplus', fallback: ['stdplus', '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 29sdeventplus = declare_dependency( 30 dependencies: sdeventplus_deps, 31 include_directories: sdeventplus_headers, 32 link_with: sdeventplus_lib) 33 34sdeventplus_reqs = [] 35foreach dep : sdeventplus_deps 36 if dep.type_name() == 'pkgconfig' 37 sdeventplus_reqs += dep 38 endif 39endforeach 40 41import('pkgconfig').generate( 42 name: 'sdeventplus', 43 description: 'C++ systemd event wrapper', 44 version: meson.project_version(), 45 libraries: sdeventplus, 46 requires: sdeventplus_reqs) 47 48install_headers( 49 'sdeventplus/clock.hpp', 50 'sdeventplus/event.hpp', 51 'sdeventplus/exception.hpp', 52 subdir: 'sdeventplus') 53 54install_headers( 55 'sdeventplus/internal/sdevent.hpp', 56 'sdeventplus/internal/utils.hpp', 57 subdir: 'sdeventplus/internal') 58 59install_headers( 60 'sdeventplus/source/base.hpp', 61 'sdeventplus/source/child.hpp', 62 'sdeventplus/source/event.hpp', 63 'sdeventplus/source/io.hpp', 64 'sdeventplus/source/signal.hpp', 65 'sdeventplus/source/time.hpp', 66 subdir: 'sdeventplus/source') 67 68install_headers( 69 'sdeventplus/test/sdevent.hpp', 70 subdir: 'sdeventplus/test') 71 72install_headers( 73 'sdeventplus/utility/timer.hpp', 74 subdir: 'sdeventplus/utility') 75