diff --git a/subprojects/acpi-power-state-daemon/meson.build b/subprojects/acpi-power-state-daemon/meson.build
index 5f83a0f..4d21a93 100644
--- a/subprojects/acpi-power-state-daemon/meson.build
+++ b/subprojects/acpi-power-state-daemon/meson.build
@@ -13,14 +13,10 @@
 # limitations under the License.
 
 project(
-  'acpi_power_stated',
-  'cpp',
-  version: '0.1',
-  default_options: [
-    'warning_level=3',
-    'werror=true',
-    'cpp_std=c++23',
-  ],
+    'acpi_power_stated',
+    'cpp',
+    version: '0.1',
+    default_options: ['warning_level=3', 'werror=true', 'cpp_std=c++23'],
 )
 
 headers = include_directories('.')
@@ -30,33 +26,37 @@
 systemunitdir = systemd.get_variable('systemdsystemunitdir')
 
 deps = [
-  libsystemd,
-  dependency('sdbusplus', fallback: ['sdbusplus', 'sdbusplus_dep']),
-  dependency(
-    'phosphor-dbus-interfaces',
-    fallback: ['phosphor-dbus-interfaces', 'phosphor_dbus_interfaces_dep']),
+    libsystemd,
+    dependency('sdbusplus', fallback: ['sdbusplus', 'sdbusplus_dep']),
+    dependency(
+        'phosphor-dbus-interfaces',
+        fallback: ['phosphor-dbus-interfaces', 'phosphor_dbus_interfaces_dep'],
+    ),
 ]
 
 bindir = get_option('prefix') / get_option('bindir')
 
 executable(
-  'acpi_power_stated',
-  'acpi_power_state.cpp',
-  include_directories: headers,
-  implicit_include_directories: false,
-  dependencies: deps,
-  install: true,
-  install_dir: bindir)
+    'acpi_power_stated',
+    'acpi_power_state.cpp',
+    include_directories: headers,
+    implicit_include_directories: false,
+    dependencies: deps,
+    install: true,
+    install_dir: bindir,
+)
 
 configure_file(
-  configuration: {'BIN': bindir / 'acpi_power_stated'},
-  input: 'acpi-power-state.service.in',
-  output: 'acpi-power-state.service',
-  install_mode: 'rw-r--r--',
-  install_dir: systemunitdir)
+    configuration: {'BIN': bindir / 'acpi_power_stated'},
+    input: 'acpi-power-state.service.in',
+    output: 'acpi-power-state.service',
+    install_mode: 'rw-r--r--',
+    install_dir: systemunitdir,
+)
 
 install_data(
-  'host-s0-state.target',
-  'host-s5-state.target',
-  install_mode: 'rw-r--r--',
-  install_dir: systemunitdir)
+    'host-s0-state.target',
+    'host-s5-state.target',
+    install_mode: 'rw-r--r--',
+    install_dir: systemunitdir,
+)
diff --git a/subprojects/bare-metal-host-monitor/meson.build b/subprojects/bare-metal-host-monitor/meson.build
index d2b07e0..51f6268 100644
--- a/subprojects/bare-metal-host-monitor/meson.build
+++ b/subprojects/bare-metal-host-monitor/meson.build
@@ -1,37 +1,28 @@
 project(
-  'host_gpio_monitor',
-  'cpp',
-  version: '0.1',
-  meson_version: '>=1.1.1',
-  default_options: [
-    'warning_level=3',
-    'werror=true',
-    'cpp_std=c++23',
-  ],
+    'host_gpio_monitor',
+    'cpp',
+    version: '0.1',
+    meson_version: '>=1.1.1',
+    default_options: ['warning_level=3', 'werror=true', 'cpp_std=c++23'],
 )
 
-absls = [
-  'flags',
-  'flags_internal',
-  'flags_parse',
-]
+absls = ['flags', 'flags_internal', 'flags_parse']
 libabsl_deps = []
 foreach absl : absls
-  libabsl_deps += dependency('absl_' + absl)
+    libabsl_deps += dependency('absl_' + absl)
 endforeach
 
 executable(
-  'host_gpio_monitor',
-  'host_gpio_monitor.cpp',
-  implicit_include_directories: false,
-  dependencies:
-  [
-    dependency('stdplus'),
-    dependency('phosphor-logging'),
-    libabsl_deps,
-  ],
-  install: true,
-  install_dir: get_option('libexecdir'),
+    'host_gpio_monitor',
+    'host_gpio_monitor.cpp',
+    implicit_include_directories: false,
+    dependencies: [
+        dependency('stdplus'),
+        dependency('phosphor-logging'),
+        libabsl_deps,
+    ],
+    install: true,
+    install_dir: get_option('libexecdir'),
 )
 
 systemd = dependency('systemd')
@@ -40,8 +31,9 @@
 libexecdir = get_option('prefix') / get_option('libexecdir')
 
 configure_file(
-  configuration: {'BIN': libexecdir / 'host_gpio_monitor'},
-  input: 'host-gpio-monitor@.service.in',
-  output: 'host-gpio-monitor@.service',
-  install_mode: 'rw-r--r--',
-  install_dir: systemunitdir)
+    configuration: {'BIN': libexecdir / 'host_gpio_monitor'},
+    input: 'host-gpio-monitor@.service.in',
+    output: 'host-gpio-monitor@.service',
+    install_mode: 'rw-r--r--',
+    install_dir: systemunitdir,
+)
diff --git a/subprojects/dhcp-done/meson.build b/subprojects/dhcp-done/meson.build
index cfb6b76..27afb8f 100644
--- a/subprojects/dhcp-done/meson.build
+++ b/subprojects/dhcp-done/meson.build
@@ -13,59 +13,54 @@
 # limitations under the License.
 
 project(
-  'dhcp-done',
-  'cpp',
-  version: '0.1',
-  meson_version: '>=1.1.1',
-  default_options: [
-    'warning_level=3',
-    'werror=true',
-    'cpp_std=c++23',
-  ],
+    'dhcp-done',
+    'cpp',
+    version: '0.1',
+    meson_version: '>=1.1.1',
+    default_options: ['warning_level=3', 'werror=true', 'cpp_std=c++23'],
 )
 
-deps = [
-  dependency('sdeventplus'),
-  dependency('stdplus'),
-]
+deps = [dependency('sdeventplus'), dependency('stdplus')]
 
 libexecdir = get_option('prefix') / get_option('libexecdir')
 bindir = get_option('prefix') / get_option('bindir')
 
 fileio_lib = static_library(
-  'fileio',
-  [
-    'file-io.cpp',
-  ],
-  implicit_include_directories: false)
+    'fileio',
+    ['file-io.cpp'],
+    implicit_include_directories: false,
+)
 
 executable(
-  'dhcp-done',
-  'dhcp-done.cpp',
-  implicit_include_directories: false,
-  dependencies: deps,
-  link_with : fileio_lib,
-  install: true,
-  install_dir: libexecdir)
+    'dhcp-done',
+    'dhcp-done.cpp',
+    implicit_include_directories: false,
+    dependencies: deps,
+    link_with: fileio_lib,
+    install: true,
+    install_dir: libexecdir,
+)
 
 executable(
-  'update-dhcp-status',
-  'update-dhcp-status.cpp',
-  implicit_include_directories: false,
-  dependencies: deps,
-  link_with : fileio_lib,
-  install: true,
-  install_dir: bindir)
+    'update-dhcp-status',
+    'update-dhcp-status.cpp',
+    implicit_include_directories: false,
+    dependencies: deps,
+    link_with: fileio_lib,
+    install: true,
+    install_dir: bindir,
+)
 
 systemd = dependency('systemd')
 systemunitdir = systemd.get_variable('systemdsystemunitdir')
 
 configure_file(
-  configuration: {'BIN': libexecdir / 'dhcp-done'},
-  input: 'dhcp-done.service.in',
-  output: 'dhcp-done.service',
-  install_mode: 'rw-r--r--',
-  install_dir: systemunitdir)
+    configuration: {'BIN': libexecdir / 'dhcp-done'},
+    input: 'dhcp-done.service.in',
+    output: 'dhcp-done.service',
+    install_mode: 'rw-r--r--',
+    install_dir: systemunitdir,
+)
 
 build_tests = get_option('tests')
 
diff --git a/subprojects/dhcp-done/test/meson.build b/subprojects/dhcp-done/test/meson.build
index de5354f..6959f41 100644
--- a/subprojects/dhcp-done/test/meson.build
+++ b/subprojects/dhcp-done/test/meson.build
@@ -14,26 +14,31 @@
 #
 gtest = dependency('gtest', main: true, disabler: true, required: false)
 if not gtest.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'),
-      ])
-  else
-    assert(not build_tests.allowed(), 'Googletest is required')
-  endif
+    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'),
+            ],
+        )
+    else
+        assert(not build_tests.allowed(), 'Googletest is required')
+    endif
 endif
 
-test('fileio_test', executable('fileio_test',
-  ['fileio_test.cpp'],
-  implicit_include_directories: false,
-  dependencies: [gtest, dependency('stdplus')],
-  link_with : fileio_lib))
+test(
+    'fileio_test',
+    executable(
+        'fileio_test',
+        ['fileio_test.cpp'],
+        implicit_include_directories: false,
+        dependencies: [gtest, dependency('stdplus')],
+        link_with: fileio_lib,
+    ),
+)
diff --git a/subprojects/espi-control/meson.build b/subprojects/espi-control/meson.build
index 9e45228..c233a12 100644
--- a/subprojects/espi-control/meson.build
+++ b/subprojects/espi-control/meson.build
@@ -1,23 +1,16 @@
 project(
-  'espi_control',
-  'cpp',
-  version: '0.1',
-  meson_version: '>=1.1.1',
-  default_options: [
-    'warning_level=3',
-    'werror=true',
-    'cpp_std=c++23',
-  ],
+    'espi_control',
+    'cpp',
+    version: '0.1',
+    meson_version: '>=1.1.1',
+    default_options: ['warning_level=3', 'werror=true', 'cpp_std=c++23'],
 )
 
 executable(
-  'npcm7xx-espi-control',
-  'npcm7xx_espi_control.cpp',
-  implicit_include_directories: false,
-  dependencies:
-  [
-    dependency('stdplus'),
-  ],
-  install: true,
-  install_dir: get_option('libexecdir'),
+    'npcm7xx-espi-control',
+    'npcm7xx_espi_control.cpp',
+    implicit_include_directories: false,
+    dependencies: [dependency('stdplus')],
+    install: true,
+    install_dir: get_option('libexecdir'),
 )
diff --git a/subprojects/libcr51sign/include/meson.build b/subprojects/libcr51sign/include/meson.build
index fc9ec3a..d641b01 100644
--- a/subprojects/libcr51sign/include/meson.build
+++ b/subprojects/libcr51sign/include/meson.build
@@ -15,6 +15,7 @@
 libcr51sign_includes = include_directories('.')
 
 install_subdir(
-  'libcr51sign',
-  install_dir: get_option('includedir'),
-  strip_directory: false)
+    'libcr51sign',
+    install_dir: get_option('includedir'),
+    strip_directory: false,
+)
diff --git a/subprojects/libcr51sign/meson.build b/subprojects/libcr51sign/meson.build
index b37f533..3935e5d 100644
--- a/subprojects/libcr51sign/meson.build
+++ b/subprojects/libcr51sign/meson.build
@@ -13,15 +13,12 @@
 # limitations under the License.
 
 project(
-  'libcr51sign',
-  'c',
-  version: '0.1',
-  meson_version: '>=1.1.1',
-  default_options: [
-    'warning_level=3',
-    'werror=true',
-    'c_std=c18',
-  ])
+    'libcr51sign',
+    'c',
+    version: '0.1',
+    meson_version: '>=1.1.1',
+    default_options: ['warning_level=3', 'werror=true', 'c_std=c18'],
+)
 
 subdir('include')
 subdir('src')
diff --git a/subprojects/libcr51sign/src/meson.build b/subprojects/libcr51sign/src/meson.build
index ff33a0c..c84cdbf 100644
--- a/subprojects/libcr51sign/src/meson.build
+++ b/subprojects/libcr51sign/src/meson.build
@@ -12,49 +12,48 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-libcr51sign_deps = [
-  dependency('libcrypto'),
-]
+libcr51sign_deps = [dependency('libcrypto')]
 
-libcr51sign_cflags = [
-  '-Wno-pedantic',
-  '-Wno-implicit-fallthrough'
-]
+libcr51sign_cflags = ['-Wno-pedantic', '-Wno-implicit-fallthrough']
 
 libcr51sign_pre = declare_dependency(
-  include_directories: libcr51sign_includes,
-  compile_args: libcr51sign_cflags,
-  dependencies: libcr51sign_deps)
+    include_directories: libcr51sign_includes,
+    compile_args: libcr51sign_cflags,
+    dependencies: libcr51sign_deps,
+)
 
 libcr51sign_lib = library(
-  'cr51sign',
-  'libcr51sign.c',
-  'libcr51sign_support.c',
-  'libcr51sign_mauv.c',
-  dependencies: libcr51sign_pre,
-  c_args: [
-    # Temporarily ignore until updates land
-    '-Wno-error=deprecated-declarations',
-  ],
-  implicit_include_directories: false,
-  version: meson.project_version(),
-  install: true)
+    'cr51sign',
+    'libcr51sign.c',
+    'libcr51sign_support.c',
+    'libcr51sign_mauv.c',
+    dependencies: libcr51sign_pre,
+    c_args: [
+        # Temporarily ignore until updates land
+        '-Wno-error=deprecated-declarations',
+    ],
+    implicit_include_directories: false,
+    version: meson.project_version(),
+    install: true,
+)
 
 libcr51sign_dep = declare_dependency(
-  link_with: libcr51sign_lib,
-  dependencies: libcr51sign_pre)
+    link_with: libcr51sign_lib,
+    dependencies: libcr51sign_pre,
+)
 
 libcr51sign_reqs = []
 foreach dep : libcr51sign_deps
-  if dep.type_name() == 'pkgconfig'
-    libcr51sign_reqs += dep
-  endif
+    if dep.type_name() == 'pkgconfig'
+        libcr51sign_reqs += dep
+    endif
 endforeach
 
 import('pkgconfig').generate(
-  libcr51sign_lib,
-  name: 'libcr51sign',
-  description: 'CR51 signing verification utilities',
-  requires: libcr51sign_reqs,
-  extra_cflags: libcr51sign_cflags,
-  version: meson.project_version())
+    libcr51sign_lib,
+    name: 'libcr51sign',
+    description: 'CR51 signing verification utilities',
+    requires: libcr51sign_reqs,
+    extra_cflags: libcr51sign_cflags,
+    version: meson.project_version(),
+)
diff --git a/subprojects/metrics-ipmi-blobs/meson.build b/subprojects/metrics-ipmi-blobs/meson.build
index 331ad86..ccf514c 100644
--- a/subprojects/metrics-ipmi-blobs/meson.build
+++ b/subprojects/metrics-ipmi-blobs/meson.build
@@ -13,99 +13,109 @@
 # limitations under the License.
 
 project(
-  'metrics-ipmi-blobs',
-  ['cpp', 'c'],
-  version: '0.1',
-  default_options: [
-    'warning_level=3',
-    'werror=true',
-    'cpp_std=c++23',
-    'c_std=c18',
-    'tests=' + (meson.is_subproject() ? 'disabled' : 'auto'),
-  ],
+    'metrics-ipmi-blobs',
+    ['cpp', 'c'],
+    version: '0.1',
+    default_options: [
+        'warning_level=3',
+        'werror=true',
+        'cpp_std=c++23',
+        'c_std=c18',
+        'tests=' + (meson.is_subproject() ? 'disabled' : 'auto'),
+    ],
 )
 
 nanopb = find_program('nanopb_generator.py', native: true, required: false)
 if not nanopb.found()
-  nanopb_opts = import('cmake').subproject_options()
-  nanopb_opts.add_cmake_defines({'BUILD_SHARED_LIBS': 'ON'})
-  nanopb_proj = import('cmake').subproject('nanopb', options: nanopb_opts)
-  nanopb = find_program(meson.global_source_root() + '/subprojects/nanopb/generator/nanopb_generator.py', native: true)
-  nanopb_dep = nanopb_proj.dependency('protobuf_nanopb')
+    nanopb_opts = import('cmake').subproject_options()
+    nanopb_opts.add_cmake_defines({'BUILD_SHARED_LIBS': 'ON'})
+    nanopb_proj = import('cmake').subproject('nanopb', options: nanopb_opts)
+    nanopb = find_program(
+        meson.global_source_root() + '/subprojects/nanopb/generator/nanopb_generator.py',
+        native: true,
+    )
+    nanopb_dep = nanopb_proj.dependency('protobuf_nanopb')
 else
-  nanopb_dep = meson.get_compiler('cpp').find_library('protobuf-nanopb')
+    nanopb_dep = meson.get_compiler('cpp').find_library('protobuf-nanopb')
 endif
 
 nanopb_kwargs = {
-  'output': [
-    '@BASENAME@.pb.n.h',
-    '@BASENAME@.pb.n.c',
-  ],
-  'command': [
-    nanopb,
-    '-q',
-    '-s', 'packed_struct:0',
-    '-H.n.h',
-    '-S.n.c',
-    '-I' + import('fs').relative_to(meson.current_source_dir(), meson.global_build_root()),
-    '-D' + import('fs').relative_to(meson.current_build_dir(), meson.global_build_root()),
-    '@INPUT@',
-  ],
+    'output': ['@BASENAME@.pb.n.h', '@BASENAME@.pb.n.c'],
+    'command': [
+        nanopb,
+        '-q',
+        '-s',
+        'packed_struct:0',
+        '-H.n.h',
+        '-S.n.c',
+        '-I' + import('fs').relative_to(
+            meson.current_source_dir(),
+            meson.global_build_root(),
+        ),
+        '-D' + import('fs').relative_to(
+            meson.current_build_dir(),
+            meson.global_build_root(),
+        ),
+        '@INPUT@',
+    ],
 }
 
 tgt = custom_target(
-  'metricblob.pb.n.hc',
-  input: 'metricblob.proto',
-  kwargs: nanopb_kwargs)
+    'metricblob.pb.n.hc',
+    input: 'metricblob.proto',
+    kwargs: nanopb_kwargs,
+)
 metrics_nanopb_hdr = tgt[0]
 metrics_nanopb_src = tgt[1]
 
 metrics_nanopb_pre = declare_dependency(
-  include_directories: include_directories('.'),
-  sources: metrics_nanopb_hdr,
-  dependencies: [
-    nanopb_dep,
-  ])
+    include_directories: include_directories('.'),
+    sources: metrics_nanopb_hdr,
+    dependencies: [nanopb_dep],
+)
 
 metrics_nanopb_lib = static_library(
-  'metrics_nanopb',
-  metrics_nanopb_src,
-  implicit_include_directories: false,
-  dependencies: metrics_nanopb_pre)
+    'metrics_nanopb',
+    metrics_nanopb_src,
+    implicit_include_directories: false,
+    dependencies: metrics_nanopb_pre,
+)
 
 metrics_nanopb_dep = declare_dependency(
-  dependencies: metrics_nanopb_pre,
-  link_with: metrics_nanopb_lib)
+    dependencies: metrics_nanopb_pre,
+    link_with: metrics_nanopb_lib,
+)
 
 pre = declare_dependency(
-  include_directories: include_directories('.'),
-  dependencies: [
-    metrics_nanopb_dep,
-    dependency('phosphor-logging'),
-    dependency('phosphor-ipmi-blobs'),
-    dependency('sdbusplus'),
-  ])
+    include_directories: include_directories('.'),
+    dependencies: [
+        metrics_nanopb_dep,
+        dependency('phosphor-logging'),
+        dependency('phosphor-ipmi-blobs'),
+        dependency('sdbusplus'),
+    ],
+)
 
 lib = static_library(
-  'metricsblob',
-  'util.cpp',
-  'handler.cpp',
-  'metric.cpp',
-  implicit_include_directories: false,
-  dependencies: pre)
+    'metricsblob',
+    'util.cpp',
+    'handler.cpp',
+    'metric.cpp',
+    implicit_include_directories: false,
+    dependencies: pre,
+)
 
-dep = declare_dependency(
-  dependencies: pre,
-  link_with: lib)
+dep = declare_dependency(dependencies: pre, link_with: lib)
 
 shared_module(
-  'metricsblob',
-  'main.cpp',
-  dependencies: dep,
-  implicit_include_directories: false,
-  install: true,
-  install_dir: get_option('libdir') / 'blob-ipmid')
+    'metricsblob',
+    'main.cpp',
+    dependencies: dep,
+    implicit_include_directories: false,
+    install: true,
+    install_dir: get_option('libdir') / 'blob-ipmid',
+)
 
 if get_option('tests').allowed()
-  subdir('test')
+    subdir('test')
 endif
diff --git a/subprojects/metrics-ipmi-blobs/test/meson.build b/subprojects/metrics-ipmi-blobs/test/meson.build
index 1803544..435ae46 100644
--- a/subprojects/metrics-ipmi-blobs/test/meson.build
+++ b/subprojects/metrics-ipmi-blobs/test/meson.build
@@ -1,32 +1,36 @@
 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').allowed(), 'Googletest is required')
-  endif
+    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').allowed(), 'Googletest is required')
+    endif
 endif
 
-tests = [
-  'util_test',
-]
+tests = ['util_test']
 
 foreach t : tests
-  test(t, executable(t.underscorify(), t + '.cpp',
-                     implicit_include_directories: false,
-                     dependencies: [gtest, gmock, dep]))
+    test(
+        t,
+        executable(
+            t.underscorify(),
+            t + '.cpp',
+            implicit_include_directories: false,
+            dependencies: [gtest, gmock, dep],
+        ),
+    )
 endforeach
 
diff --git a/subprojects/ncsid/meson.build b/subprojects/ncsid/meson.build
index 41563fc..7b9c37c 100644
--- a/subprojects/ncsid/meson.build
+++ b/subprojects/ncsid/meson.build
@@ -13,22 +13,23 @@
 # limitations under the License.
 
 project(
-  'gbmc-ncsid',
-  ['cpp', 'c'],
-  version: '0.1',
-  meson_version: '>=1.1.1',
-  default_options: [
-    'warning_level=3',
-    'werror=true',
-    'cpp_std=c++23',
-    'c_std=c18',
-    'tests=' + (meson.is_subproject() ? 'disabled' : 'auto'),
-  ])
+    'gbmc-ncsid',
+    ['cpp', 'c'],
+    version: '0.1',
+    meson_version: '>=1.1.1',
+    default_options: [
+        'warning_level=3',
+        'werror=true',
+        'cpp_std=c++23',
+        'c_std=c18',
+        'tests=' + (meson.is_subproject() ? 'disabled' : 'auto'),
+    ],
+)
 
 subdir('src')
 
 build_tests = get_option('tests')
 
 if build_tests.allowed()
-  subdir('test')
+    subdir('test')
 endif
diff --git a/subprojects/ncsid/src/meson.build b/subprojects/ncsid/src/meson.build
index a651027..5ecb5b9 100644
--- a/subprojects/ncsid/src/meson.build
+++ b/subprojects/ncsid/src/meson.build
@@ -15,50 +15,55 @@
 ncsid_headers = include_directories('.')
 
 ncsid_deps = [
-  dependency('sdbusplus', fallback: ['sdbusplus', 'sdbusplus_dep']),
-  dependency('stdplus', fallback: ['stdplus', 'stdplus_dep']),
+    dependency('sdbusplus', fallback: ['sdbusplus', 'sdbusplus_dep']),
+    dependency('stdplus', fallback: ['stdplus', 'stdplus_dep']),
 ]
 
 ncsid_lib = static_library(
-  'ncsid',
-  [
-    'net_config.cpp',
-    'net_iface.cpp',
-    'net_sockio.cpp',
-    'ncsi_sockio.cpp',
-    'ncsi_state_machine.cpp',
-    'platforms/nemora/portable/ncsi_fsm.c',
-    'platforms/nemora/portable/ncsi_client.c',
-    'platforms/nemora/portable/ncsi_server.c',
-  ],
-  include_directories: ncsid_headers,
-  implicit_include_directories: false,
-  dependencies: ncsid_deps)
+    'ncsid',
+    [
+        'net_config.cpp',
+        'net_iface.cpp',
+        'net_sockio.cpp',
+        'ncsi_sockio.cpp',
+        'ncsi_state_machine.cpp',
+        'platforms/nemora/portable/ncsi_fsm.c',
+        'platforms/nemora/portable/ncsi_client.c',
+        'platforms/nemora/portable/ncsi_server.c',
+    ],
+    include_directories: ncsid_headers,
+    implicit_include_directories: false,
+    dependencies: ncsid_deps,
+)
 
 ncsid = declare_dependency(
-  dependencies: ncsid_deps,
-  include_directories: ncsid_headers,
-  link_with: ncsid_lib)
+    dependencies: ncsid_deps,
+    include_directories: ncsid_headers,
+    link_with: ncsid_lib,
+)
 
 executable(
-  'ncsid',
-  'ncsid.cpp',
-  implicit_include_directories: false,
-  dependencies: ncsid,
-  install: true,
-  install_dir: get_option('libexecdir'))
+    'ncsid',
+    'ncsid.cpp',
+    implicit_include_directories: false,
+    dependencies: ncsid,
+    install: true,
+    install_dir: get_option('libexecdir'),
+)
 
 normalize_ip = executable(
-  'normalize_ip',
-  'normalize_ip.c',
-  implicit_include_directories: false,
-  install: true)
+    'normalize_ip',
+    'normalize_ip.c',
+    implicit_include_directories: false,
+    install: true,
+)
 
 normalize_mac = executable(
-  'normalize_mac',
-  'normalize_mac.c',
-  implicit_include_directories: false,
-  install: true)
+    'normalize_mac',
+    'normalize_mac.c',
+    implicit_include_directories: false,
+    install: true,
+)
 
 systemd = dependency('systemd')
 systemunitdir = systemd.get_variable('systemdsystemunitdir')
@@ -66,14 +71,16 @@
 libexecdir = get_option('prefix') / get_option('libexecdir')
 
 configure_file(
-  configuration: {'BIN': libexecdir / 'ncsid'},
-  input: 'ncsid@.service.in',
-  output: 'ncsid@.service',
-  install_mode: 'rw-r--r--',
-  install_dir: systemunitdir)
+    configuration: {'BIN': libexecdir / 'ncsid'},
+    input: 'ncsid@.service.in',
+    output: 'ncsid@.service',
+    install_mode: 'rw-r--r--',
+    install_dir: systemunitdir,
+)
 
 install_data(
-  'nic-hostful@.target',
-  'nic-hostless@.target',
-  install_mode: 'rw-r--r--',
-  install_dir: systemunitdir)
+    'nic-hostful@.target',
+    'nic-hostless@.target',
+    install_mode: 'rw-r--r--',
+    install_dir: systemunitdir,
+)
diff --git a/subprojects/ncsid/test/meson.build b/subprojects/ncsid/test/meson.build
index 681306f..f142318 100644
--- a/subprojects/ncsid/test/meson.build
+++ b/subprojects/ncsid/test/meson.build
@@ -15,58 +15,60 @@
 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 build_tests.allowed(), 'Googletest is required')
-  endif
+    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 build_tests.allowed(), 'Googletest is required')
+    endif
 endif
 
 tests = [
-  'iface_test',
-  'sock_test',
-  #'ncsi_test',  # TODO: Re-enable when fixed
+    'iface_test',
+    'sock_test',
+    #'ncsi_test',  # TODO: Re-enable when fixed
 ]
 
 ncsid_test_headers = include_directories('.')
 
 ncsid_test_lib = static_library(
-  'ncsid_test',
-  [
-    'net_iface_mock.cpp',
-    'nic_mock.cpp',
-  ],
-  include_directories: ncsid_test_headers,
-  implicit_include_directories: false,
-  dependencies: ncsid)
+    'ncsid_test',
+    ['net_iface_mock.cpp', 'nic_mock.cpp'],
+    include_directories: ncsid_test_headers,
+    implicit_include_directories: false,
+    dependencies: ncsid,
+)
 
 ncsid_test = declare_dependency(
-  dependencies: ncsid,
-  include_directories: ncsid_test_headers,
-  link_with: ncsid_test_lib)
+    dependencies: ncsid,
+    include_directories: ncsid_test_headers,
+    link_with: ncsid_test_lib,
+)
 
 foreach t : tests
-  test(t, executable(t.underscorify(), t + '.cpp',
-                     implicit_include_directories: false,
-                     dependencies: [gtest, gmock, ncsid_test]))
+    test(
+        t,
+        executable(
+            t.underscorify(),
+            t + '.cpp',
+            implicit_include_directories: false,
+            dependencies: [gtest, gmock, ncsid_test],
+        ),
+    )
 endforeach
 
-script_tests = [
-  'normalize_ip_test',
-  'normalize_mac_test',
-]
+script_tests = ['normalize_ip_test', 'normalize_mac_test']
 
 script_env = environment()
 script_deps = []
@@ -76,6 +78,12 @@
 script_deps += normalize_mac
 
 foreach st : script_tests
-  test(st, find_program('bash'), args: files(st + '.sh'),
-    protocol: 'tap', env: script_env, depends: script_deps)
+    test(
+        st,
+        find_program('bash'),
+        args: files(st + '.sh'),
+        protocol: 'tap',
+        env: script_env,
+        depends: script_deps,
+    )
 endforeach
diff --git a/subprojects/nemora-postd/meson.build b/subprojects/nemora-postd/meson.build
index 21f8421..129e4be 100644
--- a/subprojects/nemora-postd/meson.build
+++ b/subprojects/nemora-postd/meson.build
@@ -13,14 +13,10 @@
 # limitations under the License.
 
 project(
-  'nemora-postd',
-  'cpp',
-  version: '0.1',
-  default_options: [
-    'warning_level=3',
-    'werror=true',
-    'cpp_std=c++23'
-  ],
+    'nemora-postd',
+    'cpp',
+    version: '0.1',
+    default_options: ['warning_level=3', 'werror=true', 'cpp_std=c++23'],
 )
 
 protobuf = dependency('protobuf')
@@ -32,30 +28,34 @@
 protoc = find_program('protoc', native: true)
 
 proto = custom_target(
-  'event_message_proto',
-  command: [
-    find_program('protoc', native: true),
-    '--proto_path=@CURRENT_SOURCE_DIR@',
-    '--cpp_out=@OUTDIR@',
-    '@INPUT@'
-  ],
-  output: [
-    'event_message.pb.cc',
-    'event_message.pb.h',
-  ],
-  input: 'event_message.proto')
+    'event_message_proto',
+    command: [
+        find_program('protoc', native: true),
+        '--proto_path=@CURRENT_SOURCE_DIR@',
+        '--cpp_out=@OUTDIR@',
+        '@INPUT@',
+    ],
+    output: ['event_message.pb.cc', 'event_message.pb.h'],
+    input: 'event_message.proto',
+)
 
 executable(
-  'nemora-postd',
-  'nemorad.cpp',
-  'src/host_manager.cpp',
-  'src/nemora.cpp',
-  'src/socket_manager.cpp',
-  'src/serializer.cpp',
-  proto,
-  include_directories: include_directories('.'),
-  dependencies: [protobuf, phosphor_dbus_interfaces, sdbusplus, threads, logging],
-  install: true
+    'nemora-postd',
+    'nemorad.cpp',
+    'src/host_manager.cpp',
+    'src/nemora.cpp',
+    'src/socket_manager.cpp',
+    'src/serializer.cpp',
+    proto,
+    include_directories: include_directories('.'),
+    dependencies: [
+        protobuf,
+        phosphor_dbus_interfaces,
+        sdbusplus,
+        threads,
+        logging,
+    ],
+    install: true,
 )
 
 
