build: add support for building with meson

Follow the OpenBMC herd and support a more modern, more comprehensible,
more performant build framework.

To build using meson:
   meson build
   ninja -C build
   ninja -C build install

Added -Dtests to match de-facto OpenBMC meson usage conventions.

Dropped support for --enable-oe-sdk rpath munging.  This was a
workaround for broken oe sdks that don't figure out the correct rpath
when running make check or ninja test.

Ran existing unit tests (which passed) using ninja test.

Change-Id: I198700d866e1b23ba0a22b156335bbb973b98f43
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..c60e1b4
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,64 @@
+project(
+    'phosphor-gpio-monitor',
+    'cpp',
+    default_options: [
+        'warning_level=3',
+        'werror=true',
+        'cpp_std=c++17'
+    ],
+    license: 'Apache-2.0',
+    version: '1.0',
+)
+
+build_tests = get_option('tests')
+
+cppfs = meson.get_compiler('cpp').find_library('stdc++fs')
+libevdev = dependency('libevdev')
+libsystemd = dependency('libsystemd')
+phosphor_dbus_interfaces = dependency('phosphor-dbus-interfaces')
+phosphor_logging = dependency('phosphor-logging')
+sdbusplus = dependency('sdbusplus')
+
+libevdev_o = static_library(
+    'libevdev_o',
+    'evdev.cpp',
+    dependencies: [
+        libevdev,
+        phosphor_dbus_interfaces,
+        phosphor_logging,
+        sdbusplus,
+    ]
+)
+
+libmonitor_o = static_library(
+    'libmonitor_o',
+     'monitor.cpp',
+    dependencies: [
+        libevdev,
+        libsystemd,
+        phosphor_logging,
+    ],
+    link_with: [
+        libevdev_o,
+    ],
+)
+
+phosphor_gpio_monitor = executable(
+    'phosphor-gpio-monitor',
+    'argument.cpp',
+    'mainapp.cpp',
+    dependencies: [
+        libevdev,
+        libsystemd,
+        phosphor_logging,
+    ],
+    install: true,
+    link_with: [
+        libevdev_o,
+        libmonitor_o,
+    ],
+)
+
+subdir('gpio-util')
+subdir('presence')
+subdir('test')