meson: Add alternative build system
For now both autotools and meson will be maintained side by side.
Eventually we should remove the autotools build system.
Change-Id: I04382b17d5267ee218e2658fc163da17853f637a
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/meson.build b/src/meson.build
new file mode 100644
index 0000000..4e8b5b5
--- /dev/null
+++ b/src/meson.build
@@ -0,0 +1,58 @@
+libsystemd = dependency('libsystemd')
+
+sdeventplus = library(
+ 'sdeventplus',
+ [
+ 'sdeventplus/clock.cpp',
+ 'sdeventplus/event.cpp',
+ 'sdeventplus/exception.cpp',
+ 'sdeventplus/internal/sdevent.cpp',
+ 'sdeventplus/internal/sdref.cpp',
+ 'sdeventplus/source/base.cpp',
+ 'sdeventplus/source/child.cpp',
+ 'sdeventplus/source/event.cpp',
+ 'sdeventplus/source/io.cpp',
+ 'sdeventplus/source/signal.cpp',
+ 'sdeventplus/source/time.cpp',
+ 'sdeventplus/utility/timer.cpp'
+ ],
+ include_directories: includes,
+ implicit_include_directories: false,
+ dependencies: libsystemd,
+ install: true)
+
+import('pkgconfig').generate(
+ name: 'sdeventplus',
+ description: 'C++ systemd event wrapper',
+ version: meson.project_version(),
+ libraries: [sdeventplus],
+)
+
+install_headers(
+ 'sdeventplus/clock.hpp',
+ 'sdeventplus/event.hpp',
+ 'sdeventplus/exception.hpp',
+ subdir: 'sdeventplus')
+
+install_headers(
+ 'sdeventplus/internal/sdevent.hpp',
+ 'sdeventplus/internal/sdref.hpp',
+ 'sdeventplus/internal/utils.hpp',
+ subdir: 'sdeventplus/internal')
+
+install_headers(
+ 'sdeventplus/source/base.hpp',
+ 'sdeventplus/source/child.hpp',
+ 'sdeventplus/source/event.hpp',
+ 'sdeventplus/source/io.hpp',
+ 'sdeventplus/source/signal.hpp',
+ 'sdeventplus/source/time.hpp',
+ subdir: 'sdeventplus/source')
+
+install_headers(
+ 'sdeventplus/test/sdevent.hpp',
+ subdir: 'sdeventplus/test')
+
+install_headers(
+ 'sdeventplus/utility/timer.hpp',
+ subdir: 'sdeventplus/utility')