diff --git a/meson.build b/meson.build
index 8170268..ac253b4 100644
--- a/meson.build
+++ b/meson.build
@@ -1,11 +1,7 @@
 project(
     'phosphor-state-manager',
     'cpp',
-    default_options: [
-        'warning_level=3',
-        'werror=true',
-        'cpp_std=c++23'
-    ],
+    default_options: ['warning_level=3', 'werror=true', 'cpp_std=c++23'],
     meson_version: '>=1.1.1',
     license: 'Apache-2.0',
     version: '0.1',
@@ -15,71 +11,70 @@
 build_host_gpios = get_option('host-gpios')
 
 conf = configuration_data()
+conf.set_quoted('HOST_SCHED_OBJPATH', get_option('host-sched-objpath'))
+conf.set_quoted('HYPERVISOR_BUSNAME', get_option('hypervisor-busname'))
+conf.set_quoted('HYPERVISOR_OBJPATH', get_option('hypervisor-objpath'))
+conf.set_quoted('HOST_STATE_PERSIST_PATH', get_option('host-state-persist-path'))
 conf.set_quoted(
-    'HOST_SCHED_OBJPATH', get_option('host-sched-objpath'))
+    'POH_COUNTER_PERSIST_PATH',
+    get_option('poh-counter-persist-path'),
+)
 conf.set_quoted(
-    'HYPERVISOR_BUSNAME', get_option('hypervisor-busname'))
+    'CHASSIS_STATE_CHANGE_PERSIST_PATH',
+    get_option('chassis-state-change-persist-path'),
+)
 conf.set_quoted(
-    'HYPERVISOR_OBJPATH', get_option('hypervisor-objpath'))
-conf.set_quoted(
-    'HOST_STATE_PERSIST_PATH', get_option('host-state-persist-path'))
-conf.set_quoted(
-    'POH_COUNTER_PERSIST_PATH', get_option('poh-counter-persist-path'))
-conf.set_quoted(
-    'CHASSIS_STATE_CHANGE_PERSIST_PATH', get_option('chassis-state-change-persist-path'))
-conf.set_quoted(
-    'SCHEDULED_HOST_TRANSITION_PERSIST_PATH', get_option('scheduled-host-transition-persist-path'))
-conf.set(
-    'BOOT_COUNT_MAX_ALLOWED', get_option('boot-count-max-allowed'))
-conf.set(
-    'CLASS_VERSION', get_option('class-version'))
-conf.set_quoted(
-    'SYSFS_SECURE_BOOT_PATH', get_option('sysfs-secure-boot-path'))
-conf.set_quoted(
-    'SYSFS_ABR_IMAGE_PATH', get_option('sysfs-abr-image-path'))
+    'SCHEDULED_HOST_TRANSITION_PERSIST_PATH',
+    get_option('scheduled-host-transition-persist-path'),
+)
+conf.set('BOOT_COUNT_MAX_ALLOWED', get_option('boot-count-max-allowed'))
+conf.set('CLASS_VERSION', get_option('class-version'))
+conf.set_quoted('SYSFS_SECURE_BOOT_PATH', get_option('sysfs-secure-boot-path'))
+conf.set_quoted('SYSFS_ABR_IMAGE_PATH', get_option('sysfs-abr-image-path'))
 if build_host_gpios.allowed()
-    conf.set_quoted(
-        'HOST_GPIOS_BUSNAME', get_option('host-gpios-busname'))
-    conf.set_quoted(
-        'HOST_GPIOS_OBJPATH', get_option('host-gpios-objpath'))
+    conf.set_quoted('HOST_GPIOS_BUSNAME', get_option('host-gpios-busname'))
+    conf.set_quoted('HOST_GPIOS_OBJPATH', get_option('host-gpios-objpath'))
 endif
 
 conf.set10(
-    'ONLY_RUN_APR_ON_POWER_LOSS', get_option('only-run-apr-on-power-loss'))
+    'ONLY_RUN_APR_ON_POWER_LOSS',
+    get_option('only-run-apr-on-power-loss'),
+)
+
+conf.set_quoted('SYSFS_TPM_DEVICE_PATH', get_option('sysfs-tpm-device-path'))
 
 conf.set_quoted(
-    'SYSFS_TPM_DEVICE_PATH', get_option('sysfs-tpm-device-path'))
-
-conf.set_quoted(
-    'SYSFS_TPM_MEASUREMENT_PATH', get_option('sysfs-tpm-measurement-path'))
+    'SYSFS_TPM_MEASUREMENT_PATH',
+    get_option('sysfs-tpm-measurement-path'),
+)
 
 conf.set10(
-    'ONLY_ALLOW_BOOT_WHEN_BMC_READY', get_option('only-allow-boot-when-bmc-ready'))
+    'ONLY_ALLOW_BOOT_WHEN_BMC_READY',
+    get_option('only-allow-boot-when-bmc-ready'),
+)
 
 # globals shared across applications
-conf.set_quoted(
-    'BASE_FILE_DIR', '/run/openbmc/')
+conf.set_quoted('BASE_FILE_DIR', '/run/openbmc/')
 
-conf.set_quoted(
-    'CHASSIS_LOST_POWER_FILE', '/run/openbmc/chassis@{}-lost-power')
+conf.set_quoted('CHASSIS_LOST_POWER_FILE', '/run/openbmc/chassis@{}-lost-power')
 
-conf.set_quoted(
-    'HOST_RUNNING_FILE', '/run/openbmc/host@{}-on')
+conf.set_quoted('HOST_RUNNING_FILE', '/run/openbmc/host@{}-on')
 
-conf.set_quoted(
-    'CHASSIS_ON_FILE', '/run/openbmc/chassis@{}-on')
+conf.set_quoted('CHASSIS_ON_FILE', '/run/openbmc/chassis@{}-on')
 
 conf.set(
-    'CHECK_FWUPDATE_BEFORE_DO_TRANSITION', get_option('check-fwupdate-before-do-transition').allowed())
+    'CHECK_FWUPDATE_BEFORE_DO_TRANSITION',
+    get_option('check-fwupdate-before-do-transition').allowed(),
+)
 
 configure_file(output: 'config.h', configuration: conf)
 
-if(get_option('warm-reboot').allowed())
-    add_project_arguments('-DENABLE_WARM_REBOOT',language:'cpp')
+if (get_option('warm-reboot').allowed())
+    add_project_arguments('-DENABLE_WARM_REBOOT', language: 'cpp')
 endif
 
-if(get_option('force-warm-reboot').allowed())
-    add_project_arguments('-DENABLE_FORCE_WARM_REBOOT',language:'cpp')
+if (get_option('force-warm-reboot').allowed())
+    add_project_arguments('-DENABLE_FORCE_WARM_REBOOT', language: 'cpp')
 endif
 
 nlohmann_json_dep = dependency('nlohmann_json', include_type: 'system')
@@ -87,7 +82,11 @@
 sdeventplus = dependency('sdeventplus')
 phosphorlogging = dependency('phosphor-logging')
 phosphordbusinterfaces = dependency('phosphor-dbus-interfaces')
-libgpiod = dependency('libgpiod', version : '>=1.4.1', default_options: ['bindings=cxx'])
+libgpiod = dependency(
+    'libgpiod',
+    version: '>=1.4.1',
+    default_options: ['bindings=cxx'],
+)
 
 if cpp.has_header('CLI/CLI.hpp')
     CLI11 = declare_dependency()
@@ -101,176 +100,169 @@
     'cereal/cereal.hpp',
     'cereal::specialize',
     dependencies: cereal,
-    required: false)
+    required: false,
+)
 if not has_cereal
     cereal_opts = import('cmake').subproject_options()
-    cereal_opts.add_cmake_defines({'BUILD_TESTS': 'OFF', 'SKIP_PERFORMANCE_COMPARISON': 'ON'})
+    cereal_opts.add_cmake_defines(
+        {'BUILD_TESTS': 'OFF', 'SKIP_PERFORMANCE_COMPARISON': 'ON'},
+    )
     cereal_proj = import('cmake').subproject(
         'cereal',
         options: cereal_opts,
-        required: false)
+        required: false,
+    )
     assert(cereal_proj.found(), 'cereal is required')
     cereal = cereal_proj.dependency('cereal')
 endif
 
-executable('phosphor-host-state-manager',
-            'host_state_manager.cpp',
-            'host_state_manager_main.cpp',
-            'settings.cpp',
-            'host_check.cpp',
-            'utils.cpp',
-            dependencies: [
-                cereal,
-                libgpiod,
-                phosphordbusinterfaces,
-                phosphorlogging,
-                sdbusplus,
-                sdeventplus,
-            ],
+executable(
+    'phosphor-host-state-manager',
+    'host_state_manager.cpp',
+    'host_state_manager_main.cpp',
+    'settings.cpp',
+    'host_check.cpp',
+    'utils.cpp',
+    dependencies: [
+        cereal,
+        libgpiod,
+        phosphordbusinterfaces,
+        phosphorlogging,
+        sdbusplus,
+        sdeventplus,
+    ],
     implicit_include_directories: true,
-    install: true
+    install: true,
 )
 
-executable('phosphor-hypervisor-state-manager',
-            'hypervisor_state_manager.cpp',
-            'hypervisor_state_manager_main.cpp',
-            'settings.cpp',
-            dependencies: [
-                phosphordbusinterfaces,
-                phosphorlogging,
-                sdbusplus,
-                sdeventplus,
-            ],
+executable(
+    'phosphor-hypervisor-state-manager',
+    'hypervisor_state_manager.cpp',
+    'hypervisor_state_manager_main.cpp',
+    'settings.cpp',
+    dependencies: [
+        phosphordbusinterfaces,
+        phosphorlogging,
+        sdbusplus,
+        sdeventplus,
+    ],
     implicit_include_directories: true,
-    install: true
+    install: true,
 )
 
-executable('phosphor-chassis-state-manager',
-            'chassis_state_manager.cpp',
-            'chassis_state_manager_main.cpp',
-            'utils.cpp',
-            dependencies: [
-                cereal,
-                libgpiod,
-                nlohmann_json_dep,
-                phosphordbusinterfaces,
-                phosphorlogging,
-                sdbusplus,
-                sdeventplus,
-            ],
+executable(
+    'phosphor-chassis-state-manager',
+    'chassis_state_manager.cpp',
+    'chassis_state_manager_main.cpp',
+    'utils.cpp',
+    dependencies: [
+        cereal,
+        libgpiod,
+        nlohmann_json_dep,
+        phosphordbusinterfaces,
+        phosphorlogging,
+        sdbusplus,
+        sdeventplus,
+    ],
     implicit_include_directories: true,
-    install: true
+    install: true,
 )
 
-executable('phosphor-chassis-check-power-status',
-            'chassis_check_power_status.cpp',
-            'utils.cpp',
-            dependencies: [
-                libgpiod,
-                phosphordbusinterfaces,
-                phosphorlogging,
-                sdbusplus,
-            ],
+executable(
+    'phosphor-chassis-check-power-status',
+    'chassis_check_power_status.cpp',
+    'utils.cpp',
+    dependencies: [libgpiod, phosphordbusinterfaces, phosphorlogging, sdbusplus],
     implicit_include_directories: true,
-    install: true
+    install: true,
 )
 
-executable('phosphor-bmc-state-manager',
-            'bmc_state_manager.cpp',
-            'bmc_state_manager_main.cpp',
-            'utils.cpp',
-            dependencies: [
-                libgpiod,
-                phosphordbusinterfaces,
-                phosphorlogging,
-                sdbusplus,
-                sdeventplus,
-            ],
+executable(
+    'phosphor-bmc-state-manager',
+    'bmc_state_manager.cpp',
+    'bmc_state_manager_main.cpp',
+    'utils.cpp',
+    dependencies: [
+        libgpiod,
+        phosphordbusinterfaces,
+        phosphorlogging,
+        sdbusplus,
+        sdeventplus,
+    ],
     implicit_include_directories: true,
-    install: true
+    install: true,
 )
 
-executable('phosphor-discover-system-state',
-            'discover_system_state.cpp',
-            'settings.cpp',
-            'utils.cpp',
-            dependencies: [
-                cereal,
-                libgpiod,
-                phosphorlogging,
-                sdbusplus,
-            ],
+executable(
+    'phosphor-discover-system-state',
+    'discover_system_state.cpp',
+    'settings.cpp',
+    'utils.cpp',
+    dependencies: [cereal, libgpiod, phosphorlogging, sdbusplus],
     implicit_include_directories: true,
-    install: true
+    install: true,
 )
 
-executable('phosphor-systemd-target-monitor',
-            'systemd_service_parser.cpp',
-            'systemd_target_monitor.cpp',
-            'systemd_target_parser.cpp',
-            'systemd_target_signal.cpp',
-            'utils.cpp',
-            dependencies: [
-                CLI11,
-                libgpiod,
-                nlohmann_json_dep,
-                phosphorlogging,
-                sdbusplus,
-                sdeventplus,
-            ],
+executable(
+    'phosphor-systemd-target-monitor',
+    'systemd_service_parser.cpp',
+    'systemd_target_monitor.cpp',
+    'systemd_target_parser.cpp',
+    'systemd_target_signal.cpp',
+    'utils.cpp',
+    dependencies: [
+        CLI11,
+        libgpiod,
+        nlohmann_json_dep,
+        phosphorlogging,
+        sdbusplus,
+        sdeventplus,
+    ],
     implicit_include_directories: true,
-    install: true
+    install: true,
 )
 
-executable('phosphor-scheduled-host-transition',
-            'scheduled_host_transition_main.cpp',
-            'scheduled_host_transition.cpp',
-            'utils.cpp',
-            dependencies: [
-                cereal,
-                libgpiod,
-                phosphorlogging,
-                sdbusplus,
-                sdeventplus,
-            ],
+executable(
+    'phosphor-scheduled-host-transition',
+    'scheduled_host_transition_main.cpp',
+    'scheduled_host_transition.cpp',
+    'utils.cpp',
+    dependencies: [cereal, libgpiod, phosphorlogging, sdbusplus, sdeventplus],
     implicit_include_directories: true,
-    install: true
+    install: true,
 )
 
-executable('phosphor-host-reset-recovery',
-            'host_reset_recovery.cpp',
-            dependencies: [
-                phosphorlogging,
-                sdbusplus,
-            ],
+executable(
+    'phosphor-host-reset-recovery',
+    'host_reset_recovery.cpp',
+    dependencies: [phosphorlogging, sdbusplus],
     implicit_include_directories: true,
-    install: true
+    install: true,
 )
 
-executable('phosphor-secure-boot-check',
-            'secure_boot_check.cpp',
-            'utils.cpp',
-            dependencies: [
-            sdbusplus,
-            phosphorlogging, libgpiod
-            ],
+executable(
+    'phosphor-secure-boot-check',
+    'secure_boot_check.cpp',
+    'utils.cpp',
+    dependencies: [sdbusplus, phosphorlogging, libgpiod],
     implicit_include_directories: true,
-    install: true
+    install: true,
 )
 
-install_data('obmcutil',
-        install_mode: 'rwxr-xr-x',
-        install_dir: get_option('bindir')
+install_data(
+    'obmcutil',
+    install_mode: 'rwxr-xr-x',
+    install_dir: get_option('bindir'),
 )
 
-install_data('scripts/host-reboot',
-        install_mode: 'rwxr-xr-x',
-        install_dir: get_option('libexecdir')/'phosphor-state-manager'
+install_data(
+    'scripts/host-reboot',
+    install_mode: 'rwxr-xr-x',
+    install_dir: get_option('libexecdir') / 'phosphor-state-manager',
 )
 
 systemd = dependency('systemd')
-systemd_system_unit_dir = systemd.get_variable(
-    'systemdsystemunitdir')
+systemd_system_unit_dir = systemd.get_variable('systemdsystemunitdir')
 subdir('service_files')
 subdir('target_files')
 
@@ -278,10 +270,7 @@
     subdir('host_condition_gpio')
 endif
 
-datadir = join_paths(
-    get_option('sysconfdir'),
-    'phosphor-systemd-target-monitor'
-)
+datadir = join_paths(get_option('sysconfdir'), 'phosphor-systemd-target-monitor')
 subdir('data')
 
 build_tests = get_option('tests')
@@ -289,74 +278,75 @@
 # If test coverage of source files within the root directory are wanted,
 # need to define and build the tests from here
 if build_tests.allowed()
-gtest = dependency('gtest', main: true, disabler: true, required: build_tests)
-gmock = dependency('gmock', disabler: true, required: build_tests)
-  test(
-      'test_systemd_parser',
-      executable('test_systemd_parser',
-          './test/systemd_parser.cpp',
-          'systemd_target_parser.cpp',
-          dependencies: [
-              gtest,
-              nlohmann_json_dep,
-          ],
-          implicit_include_directories: true,
-          include_directories: '../'
-      )
-  )
+    gtest = dependency(
+        'gtest',
+        main: true,
+        disabler: true,
+        required: build_tests,
+    )
+    gmock = dependency('gmock', disabler: true, required: build_tests)
+    test(
+        'test_systemd_parser',
+        executable(
+            'test_systemd_parser',
+            './test/systemd_parser.cpp',
+            'systemd_target_parser.cpp',
+            dependencies: [gtest, nlohmann_json_dep],
+            implicit_include_directories: true,
+            include_directories: '../',
+        ),
+    )
 
-  test(
-      'test_systemd_signal',
-      executable('test_systemd_signal',
-          './test/systemd_signal.cpp',
-          'systemd_target_signal.cpp',
-          'utils.cpp',
-          dependencies: [
-              gtest,
-              libgpiod,
-              nlohmann_json_dep,
-              phosphorlogging,
-              sdbusplus,
-              sdeventplus,
-          ],
-          implicit_include_directories: true,
-          include_directories: '../'
-      )
-  )
+    test(
+        'test_systemd_signal',
+        executable(
+            'test_systemd_signal',
+            './test/systemd_signal.cpp',
+            'systemd_target_signal.cpp',
+            'utils.cpp',
+            dependencies: [
+                gtest,
+                libgpiod,
+                nlohmann_json_dep,
+                phosphorlogging,
+                sdbusplus,
+                sdeventplus,
+            ],
+            implicit_include_directories: true,
+            include_directories: '../',
+        ),
+    )
 
-  test(
-      'test_scheduled_host_transition',
-      executable('test_scheduled_host_transition',
-          './test/test_scheduled_host_transition.cpp',
-          'scheduled_host_transition.cpp',
-          'utils.cpp',
-          dependencies: [
-              cereal,
-              gmock,
-              gtest,
-              libgpiod,
-              phosphorlogging,
-              sdbusplus,
-              sdeventplus,
-          ],
-          implicit_include_directories: true,
-          include_directories: '../'
-      )
-  )
+    test(
+        'test_scheduled_host_transition',
+        executable(
+            'test_scheduled_host_transition',
+            './test/test_scheduled_host_transition.cpp',
+            'scheduled_host_transition.cpp',
+            'utils.cpp',
+            dependencies: [
+                cereal,
+                gmock,
+                gtest,
+                libgpiod,
+                phosphorlogging,
+                sdbusplus,
+                sdeventplus,
+            ],
+            implicit_include_directories: true,
+            include_directories: '../',
+        ),
+    )
 
-  test(
-      'test_hypervisor_state',
-      executable('test_hypervisor_state',
-          './test/hypervisor_state.cpp',
-          'hypervisor_state_manager.cpp',
-          dependencies: [
-              gtest,
-              phosphorlogging,
-              sdbusplus,
-              sdeventplus,
-          ],
-          implicit_include_directories: true,
-          include_directories: '../'
-      )
-  )
+    test(
+        'test_hypervisor_state',
+        executable(
+            'test_hypervisor_state',
+            './test/hypervisor_state.cpp',
+            'hypervisor_state_manager.cpp',
+            dependencies: [gtest, phosphorlogging, sdbusplus, sdeventplus],
+            implicit_include_directories: true,
+            include_directories: '../',
+        ),
+    )
 endif
