diff --git a/metrics-ipmi-blobs/handler.cpp b/metrics-ipmi-blobs/handler.cpp
index 9baa9b2..6b594fb 100644
--- a/metrics-ipmi-blobs/handler.cpp
+++ b/metrics-ipmi-blobs/handler.cpp
@@ -41,13 +41,13 @@
 }
 
 // BmcBlobDelete (7) is not supported.
-bool MetricBlobHandler::deleteBlob(const std::string& path)
+bool MetricBlobHandler::deleteBlob(const std::string&)
 {
     return false;
 }
 
 // BmcBlobStat (8) (global stat) is not supported.
-bool MetricBlobHandler::stat(const std::string& path, BlobMeta* meta)
+bool MetricBlobHandler::stat(const std::string&, BlobMeta*)
 {
     return false;
 }
@@ -102,22 +102,20 @@
 }
 
 // BmcBlobWrite(4) is not supported.
-bool MetricBlobHandler::write(uint16_t session, uint32_t offset,
-                              const std::vector<uint8_t>& data)
+bool MetricBlobHandler::write(uint16_t, uint32_t, const std::vector<uint8_t>&)
 {
     return false;
 }
 
 // BmcBlobWriteMeta(10) is not supported.
-bool MetricBlobHandler::writeMeta(uint16_t session, uint32_t offset,
-                                  const std::vector<uint8_t>& data)
+bool MetricBlobHandler::writeMeta(uint16_t, uint32_t,
+                                  const std::vector<uint8_t>&)
 {
     return false;
 }
 
 // BmcBlobCommit(5) is not supported.
-bool MetricBlobHandler::commit(uint16_t session,
-                               const std::vector<uint8_t>& data)
+bool MetricBlobHandler::commit(uint16_t, const std::vector<uint8_t>&)
 {
     return false;
 }
diff --git a/metrics-ipmi-blobs/meson.build b/metrics-ipmi-blobs/meson.build
index ad13955..6915ea0 100644
--- a/metrics-ipmi-blobs/meson.build
+++ b/metrics-ipmi-blobs/meson.build
@@ -17,42 +17,56 @@
   'cpp',
   version: '0.1',
   default_options: [
+    'warning_level=3',
+    'werror=true',
     'cpp_std=c++17',
+    'tests=' + (meson.is_subproject() ? 'disabled' : 'auto'),
   ],
 )
 
-add_project_arguments(
-  '-Wno-unused-parameter',
-  language:'cpp')
+headers = include_directories('.')
 
-protoc = find_program('protoc', required: true)
+deps = [
+  dependency('phosphor-logging'),
+  dependency('phosphor-ipmi-blobs'),
+  dependency('protobuf'),
+]
 
-gen = generator(protoc,
-  output: [
-    '@BASENAME@.pb.cc', '@BASENAME@.pb.h'
-  ],
-  arguments : ['--proto_path=@CURRENT_SOURCE_DIR@', '--cpp_out=@BUILD_DIR@', '@INPUT@'])
-generated = gen.process(['metricblob.proto'])
-
-shared_library(
-  'metrics',
-  'main.cpp',
+lib = static_library(
+  'metricsblob',
+  'util.cpp',
   'handler.cpp',
   'metric.cpp',
-  'util.cpp',
-  generated,
-  install: true,
-  install_dir: '/usr/lib/blob-ipmid/',
-  dependencies: [
-    dependency('phosphor-logging'),
-    dependency('phosphor-ipmi-blobs'),
-    dependency('protobuf'),
-  ],
-  version: '0',
-)
+  custom_target(
+    'metricblob_proto',
+    command: [
+      find_program('protoc', native: true),
+      '--proto_path=@CURRENT_SOURCE_DIR@',
+      '--cpp_out=@OUTDIR@',
+      '@INPUT@'
+    ],
+    output: [
+      'metricblob.pb.cc',
+      'metricblob.pb.h',
+    ],
+    input: 'metricblob.proto'),
+  include_directories: headers,
+  implicit_include_directories: false,
+  dependencies: deps)
 
-gtest_dep = dependency('gtest')
-text_executable = executable('testprog', [
-    'test/util_test.cpp', 'util.cpp'],
-    dependencies: [ gtest_dep, dependency('phosphor-logging') ])
-test('gtest test', text_executable)
+dep = declare_dependency(
+  dependencies: deps,
+  include_directories: headers,
+  link_with: lib)
+
+shared_module(
+  'metricsblob',
+  'main.cpp',
+  dependencies: dep,
+  implicit_include_directories: false,
+  install: true,
+  install_dir: get_option('libdir') / 'ipmid-providers')
+
+if not get_option('tests').disabled()
+  subdir('test')
+endif
diff --git a/metrics-ipmi-blobs/meson_options.txt b/metrics-ipmi-blobs/meson_options.txt
new file mode 100644
index 0000000..0fc2767
--- /dev/null
+++ b/metrics-ipmi-blobs/meson_options.txt
@@ -0,0 +1 @@
+option('tests', type: 'feature', description: 'Build tests')
diff --git a/metrics-ipmi-blobs/test/meson.build b/metrics-ipmi-blobs/test/meson.build
new file mode 100644
index 0000000..a4b60d0
--- /dev/null
+++ b/metrics-ipmi-blobs/test/meson.build
@@ -0,0 +1,32 @@
+gtest = dependency('gtest', main: true, disabler: true, required: false)
+gmock = dependency('gmock', disabler: true, required: false)
+if not gtest.found() or not gmock.found()
+  gtest_proj = import('cmake').subproject(
+    'googletest',
+    cmake_options: [
+      '-DCMAKE_CXX_FLAGS=-Wno-pedantic',
+    ],
+    required: false)
+  if gtest_proj.found()
+    gtest = declare_dependency(
+      dependencies: [
+        dependency('threads'),
+        gtest_proj.dependency('gtest'),
+        gtest_proj.dependency('gtest_main'),
+      ])
+    gmock = gtest_proj.dependency('gmock')
+  else
+    assert(not get_option('tests').enabled(), 'Googletest is required')
+  endif
+endif
+
+tests = [
+  'util_test',
+]
+
+foreach t : tests
+  test(t, executable(t.underscorify(), t + '.cpp',
+                     implicit_include_directories: false,
+                     dependencies: [gtest, gmock, dep]))
+endforeach
+
