diff --git a/meson.build b/meson.build
index 9a1f6e1..ed5ce79 100644
--- a/meson.build
+++ b/meson.build
@@ -13,37 +13,38 @@
 # limitations under the License.
 
 project(
-  'google-misc',
-  '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'),
-  ])
+    'google-misc',
+    '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'),
+    ],
+)
 
 # Dummy file to make code coverage happy
 if get_option('tests').allowed()
-  test('hello', executable('hello', 'hello.c'))
+    test('hello', executable('hello', 'hello.c'))
 endif
 
 # Meson has no feature option to str...
 tests_str = get_option('tests').allowed() ? 'enabled' : 'disabled'
 if get_option('tests').auto()
-  tests_str = 'auto'
+    tests_str = 'auto'
 endif
 
 # The ordering in this list intentionally lists dependencies higher than
 # dependents to guarantee their tests are enabled
 if not meson.is_subproject()
-  subproject('acpi-power-state-daemon')
-  subproject('ncsid', default_options: 'tests=' + tests_str)
-  subproject('metrics-ipmi-blobs', default_options: 'tests=' + tests_str)
-  subproject('nemora-postd')
-  subproject('libcr51sign')
-  subproject('dhcp-done')
-  subproject('espi-control')
+    subproject('acpi-power-state-daemon')
+    subproject('ncsid', default_options: 'tests=' + tests_str)
+    subproject('metrics-ipmi-blobs', default_options: 'tests=' + tests_str)
+    subproject('nemora-postd')
+    subproject('libcr51sign')
+    subproject('dhcp-done')
+    subproject('espi-control')
 endif
diff --git a/meson_options.txt b/meson.options
similarity index 100%
rename from meson_options.txt
rename to meson.options
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,
 )
 
 
