diff --git a/example/meson.build b/example/meson.build
index 9600468..39225c3 100644
--- a/example/meson.build
+++ b/example/meson.build
@@ -1,8 +1,9 @@
 shared_module(
-  'example',
-  'example.cpp',
-  implicit_include_directories: false,
-  dependencies: ipmi_blob_dep,
-  install: true,
-  install_dir: get_option('libdir') / 'blob-ipmid')
+    'example',
+    'example.cpp',
+    implicit_include_directories: false,
+    dependencies: ipmi_blob_dep,
+    install: true,
+    install_dir: get_option('libdir') / 'blob-ipmid',
+)
 
diff --git a/meson.build b/meson.build
index b9dbd1b..2389f47 100644
--- a/meson.build
+++ b/meson.build
@@ -1,25 +1,20 @@
 project(
-  'phosphor-ipmi-blobs',
-  'cpp',
-  version: '0.1',
-  meson_version: '>=1.1.1',
-  default_options: [
-    'cpp_std=c++23',
-    'warning_level=3',
-    'werror=true',
-  ])
+    'phosphor-ipmi-blobs',
+    'cpp',
+    version: '0.1',
+    meson_version: '>=1.1.1',
+    default_options: ['cpp_std=c++23', 'warning_level=3', 'werror=true'],
+)
 
-ipmi_blob_dep = declare_dependency(
-  include_directories: include_directories('.'))
+ipmi_blob_dep = declare_dependency(include_directories: include_directories('.'))
 
-install_headers(
-  'blobs-ipmid/blobs.hpp',
-  subdir: 'blobs-ipmid')
+install_headers('blobs-ipmid/blobs.hpp', subdir: 'blobs-ipmid')
 
 import('pkgconfig').generate(
-  name: 'phosphor-ipmi-blobs',
-  description: 'Phosphor Blob Transfer Interface',
-  version: meson.project_version())
+    name: 'phosphor-ipmi-blobs',
+    description: 'Phosphor Blob Transfer Interface',
+    version: meson.project_version(),
+)
 
 cpp = meson.get_compiler('cpp')
 
@@ -28,53 +23,52 @@
 channellayer_dep = dependency('libchannellayer')
 
 blob_manager_pre = declare_dependency(
-  dependencies: [
-    ipmi_blob_dep,
-    dependency('ipmiblob'),
-    ipmid_dep,
-    phosphor_logging_dep,
-  ])
+    dependencies: [
+        ipmi_blob_dep,
+        dependency('ipmiblob'),
+        ipmid_dep,
+        phosphor_logging_dep,
+    ],
+)
 
 blob_manager_lib = static_library(
-  'blobmanager',
-  'fs.cpp',
-  'internal/sys.cpp',
-  'ipmi.cpp',
-  'manager.cpp',
-  'process.cpp',
-  'utils.cpp',
-  implicit_include_directories: false,
-  dependencies: blob_manager_pre)
+    'blobmanager',
+    'fs.cpp',
+    'internal/sys.cpp',
+    'ipmi.cpp',
+    'manager.cpp',
+    'process.cpp',
+    'utils.cpp',
+    implicit_include_directories: false,
+    dependencies: blob_manager_pre,
+)
 
 blob_manager_dep = declare_dependency(
-  link_with: blob_manager_lib,
-  dependencies: blob_manager_pre)
+    link_with: blob_manager_lib,
+    dependencies: blob_manager_pre,
+)
 
 conf_data = configuration_data()
 conf_data.set_quoted(
-  'BLOB_LIB_PATH',
-  get_option('prefix') / get_option('libdir') / 'blob-ipmid')
-conf_h = configure_file(
-  output: 'config.h',
-  configuration: conf_data)
+    'BLOB_LIB_PATH',
+    get_option('prefix') / get_option('libdir') / 'blob-ipmid',
+)
+conf_h = configure_file(output: 'config.h', configuration: conf_data)
 
 shared_module(
-  'blobmanager',
-  conf_h,
-  'main.cpp',
-  implicit_include_directories: false,
-  dependencies: [
-    blob_manager_dep,
-    ipmid_dep,
-    channellayer_dep,
-  ],
-  install: true,
-  install_dir: get_option('libdir') / 'ipmid-providers')
+    'blobmanager',
+    conf_h,
+    'main.cpp',
+    implicit_include_directories: false,
+    dependencies: [blob_manager_dep, ipmid_dep, channellayer_dep],
+    install: true,
+    install_dir: get_option('libdir') / 'ipmid-providers',
+)
 
 if get_option('examples')
-  subdir('example')
+    subdir('example')
 endif
 
 if get_option('tests').allowed()
-  subdir('test')
+    subdir('test')
 endif
diff --git a/test/meson.build b/test/meson.build
index b5bdd99..7592e41 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -1,43 +1,50 @@
-gtest = dependency('gtest', main: true, disabler: true, required: get_option('tests'))
+gtest = dependency(
+    'gtest',
+    main: true,
+    disabler: true,
+    required: get_option('tests'),
+)
 gmock = dependency('gmock', disabler: true, required: get_option('tests'))
 
 tests = [
-  'ipmi_close_unittest',
-  'ipmi_commit_unittest',
-  'ipmi_delete_unittest',
-  'ipmi_enumerate_unittest',
-  'ipmi_getcount_unittest',
-  'ipmi_open_unittest',
-  'ipmi_read_unittest',
-  'ipmi_sessionstat_unittest',
-  'ipmi_stat_unittest',
-  'ipmi_unittest',
-  'ipmi_validate_unittest',
-  'ipmi_write_unittest',
-  'ipmi_writemeta_unittest',
-  'manager_close_unittest',
-  'manager_commit_unittest',
-  'manager_delete_unittest',
-  'manager_expire_unittest',
-  'manager_getsession_unittest',
-  'manager_open_unittest',
-  'manager_read_unittest',
-  'manager_sessionstat_unittest',
-  'manager_stat_unittest',
-  'manager_unittest',
-  'manager_write_unittest',
-  'manager_writemeta_unittest',
-  'process_unittest',
-  'utils_unittest',
+    'ipmi_close_unittest',
+    'ipmi_commit_unittest',
+    'ipmi_delete_unittest',
+    'ipmi_enumerate_unittest',
+    'ipmi_getcount_unittest',
+    'ipmi_open_unittest',
+    'ipmi_read_unittest',
+    'ipmi_sessionstat_unittest',
+    'ipmi_stat_unittest',
+    'ipmi_unittest',
+    'ipmi_validate_unittest',
+    'ipmi_write_unittest',
+    'ipmi_writemeta_unittest',
+    'manager_close_unittest',
+    'manager_commit_unittest',
+    'manager_delete_unittest',
+    'manager_expire_unittest',
+    'manager_getsession_unittest',
+    'manager_open_unittest',
+    'manager_read_unittest',
+    'manager_sessionstat_unittest',
+    'manager_stat_unittest',
+    'manager_unittest',
+    'manager_write_unittest',
+    'manager_writemeta_unittest',
+    'process_unittest',
+    'utils_unittest',
 ]
 
 foreach t : tests
-  test(
-    t,
-    executable(
-      t.underscorify(),
-      t + '.cpp',
-      'helper.cpp',
-      implicit_include_directories: false,
-      dependencies: [blob_manager_dep, gtest, gmock]))
+    test(
+        t,
+        executable(
+            t.underscorify(),
+            t + '.cpp',
+            'helper.cpp',
+            implicit_include_directories: false,
+            dependencies: [blob_manager_dep, gtest, gmock],
+        ),
+    )
 endforeach
