diff --git a/src/meson.build b/src/meson.build
index 229842f..18d858d 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1,70 +1,70 @@
 cpp_args_smbios = boost_args
 if get_option('dimm-dbus').allowed()
-  cpp_args_smbios += ['-DDIMM_DBUS']
+    cpp_args_smbios += ['-DDIMM_DBUS']
 endif
 
 if get_option('assoc-trim-path').allowed()
-  cpp_args_smbios += ['-DASSOC_TRIM_PATH']
+    cpp_args_smbios += ['-DASSOC_TRIM_PATH']
 endif
 
 if get_option('dimm-only-locator').allowed()
-  cpp_args_smbios += ['-DDIMM_ONLY_LOCATOR']
+    cpp_args_smbios += ['-DDIMM_ONLY_LOCATOR']
 endif
 
 executable(
-  'smbiosmdrv2app',
-  'mdrv2.cpp',
-  'mdrv2_main.cpp',
-  'cpu.cpp',
-  'dimm.cpp',
-  'system.cpp',
-  'pcieslot.cpp',
-  cpp_args: cpp_args_smbios,
-  dependencies: [
-    boost_dep,
-    sdbusplus_dep,
-    phosphor_logging_dep,
-    phosphor_dbus_interfaces_dep,
-  ],
-  implicit_include_directories: false,
-  include_directories: root_inc,
-  install: true,
-)
-
-if get_option('cpuinfo').allowed()
-  cpp = meson.get_compiler('cpp')
-  # i2c-tools provides no pkgconfig so we need to find it manually
-  i2c_dep = cpp.find_library('i2c')
-
-  peci_dep = []
-  peci_flag = []
-  peci_files = []
-  if get_option('cpuinfo-peci').allowed()
-    peci_flag = '-DPECI_ENABLED=1'
-    peci_dep = dependency('libpeci')
-    peci_files = ['speed_select.cpp', 'sst_mailbox.cpp']
-  endif
-
-  executable(
-    'cpuinfoapp',
-    'cpuinfo_main.cpp',
-    'cpuinfo_utils.cpp',
-    peci_files,
-    cpp_args: boost_args + peci_flag,
+    'smbiosmdrv2app',
+    'mdrv2.cpp',
+    'mdrv2_main.cpp',
+    'cpu.cpp',
+    'dimm.cpp',
+    'system.cpp',
+    'pcieslot.cpp',
+    cpp_args: cpp_args_smbios,
     dependencies: [
-      boost_dep,
-      sdbusplus_dep,
-      phosphor_logging_dep,
-      phosphor_dbus_interfaces_dep,
-      i2c_dep,
-      peci_dep,
+        boost_dep,
+        sdbusplus_dep,
+        phosphor_logging_dep,
+        phosphor_dbus_interfaces_dep,
     ],
     implicit_include_directories: false,
     include_directories: root_inc,
     install: true,
-  )
+)
+
+if get_option('cpuinfo').allowed()
+    cpp = meson.get_compiler('cpp')
+    # i2c-tools provides no pkgconfig so we need to find it manually
+    i2c_dep = cpp.find_library('i2c')
+
+    peci_dep = []
+    peci_flag = []
+    peci_files = []
+    if get_option('cpuinfo-peci').allowed()
+        peci_flag = '-DPECI_ENABLED=1'
+        peci_dep = dependency('libpeci')
+        peci_files = ['speed_select.cpp', 'sst_mailbox.cpp']
+    endif
+
+    executable(
+        'cpuinfoapp',
+        'cpuinfo_main.cpp',
+        'cpuinfo_utils.cpp',
+        peci_files,
+        cpp_args: boost_args + peci_flag,
+        dependencies: [
+            boost_dep,
+            sdbusplus_dep,
+            phosphor_logging_dep,
+            phosphor_dbus_interfaces_dep,
+            i2c_dep,
+            peci_dep,
+        ],
+        implicit_include_directories: false,
+        include_directories: root_inc,
+        install: true,
+    )
 endif
 
 if get_option('smbios-ipmi-blob').allowed()
-  subdir('smbios-ipmi-blobs')
+    subdir('smbios-ipmi-blobs')
 endif
diff --git a/src/smbios-ipmi-blobs/meson.build b/src/smbios-ipmi-blobs/meson.build
index 62d1d4f..4906bb0 100644
--- a/src/smbios-ipmi-blobs/meson.build
+++ b/src/smbios-ipmi-blobs/meson.build
@@ -4,18 +4,15 @@
 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'
-  )
+    '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')
+    subdir('test')
 endif
diff --git a/src/smbios-ipmi-blobs/test/meson.build b/src/smbios-ipmi-blobs/test/meson.build
index 6e2c28e..e4e2828 100644
--- a/src/smbios-ipmi-blobs/test/meson.build
+++ b/src/smbios-ipmi-blobs/test/meson.build
@@ -2,26 +2,22 @@
 gmock = dependency('gmock')
 
 tests = [
-  'handler_unittest',
-  'handler_open_unittest',
-  'handler_readwrite_unittest',
-  'handler_statclose_unittest',
+    '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'
-  )
+    test(
+        t,
+        executable(
+            t.underscorify(),
+            t + '.cpp',
+            '../handler.cpp',
+            include_directories: ['../', root_inc],
+            dependencies: [smbiosstore_common_deps, gtest, gmock],
+        ),
+        protocol: 'gtest',
+    )
 endforeach
