Add meson build support

Tested:
1. Project builds with each meson option turned on or off.
2. Unit tests build and pass.
3. On platform FW built with updated recipe
   (I23fabdf57b8d6ac35c3aea0ece667be118de4b61):
    a. SMBIOS blob store library is properly picked up by IPMI blob
       store manager and handles OEM IPMI commands.
    b. smbiosmdrv2app is running and populates objects on D-Bus.
    c. cpuinfoapp is running and populates objects on D-Bus.

Change-Id: Ie65b281900cc07e7d0145445bcc65bbab1979214
Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>
diff --git a/src/smbios-ipmi-blobs/meson.build b/src/smbios-ipmi-blobs/meson.build
new file mode 100644
index 0000000..62d1d4f
--- /dev/null
+++ b/src/smbios-ipmi-blobs/meson.build
@@ -0,0 +1,21 @@
+ipmi_blob_dep = dependency('phosphor-ipmi-blobs')
+libipmid_dep = dependency('libipmid').partial_dependency(includes: true)
+
+smbiosstore_common_deps = [ipmi_blob_dep, libipmid_dep, sdbusplus_dep]
+
+shared_module(
+  'smbiosstore',
+  'main.cpp',
+  'handler.cpp',
+  dependencies: [
+    smbiosstore_common_deps,
+    phosphor_logging_dep,
+    ],
+  include_directories: root_inc,
+  install: true,
+  install_dir: get_option('libdir') / 'blob-ipmid'
+  )
+
+if get_option('tests').allowed()
+  subdir('test')
+endif
diff --git a/src/smbios-ipmi-blobs/test/meson.build b/src/smbios-ipmi-blobs/test/meson.build
new file mode 100644
index 0000000..6e2c28e
--- /dev/null
+++ b/src/smbios-ipmi-blobs/test/meson.build
@@ -0,0 +1,27 @@
+gtest = dependency('gtest', main: true)
+gmock = dependency('gmock')
+
+tests = [
+  'handler_unittest',
+  'handler_open_unittest',
+  'handler_readwrite_unittest',
+  'handler_statclose_unittest',
+]
+
+foreach t : tests
+  test(
+    t,
+    executable(
+      t.underscorify(),
+      t + '.cpp',
+      '../handler.cpp',
+      include_directories: ['../', root_inc],
+      dependencies: [
+        smbiosstore_common_deps,
+        gtest,
+        gmock
+      ]
+    ),
+    protocol: 'gtest'
+  )
+endforeach