diff --git a/dump/dist/meson.build b/dump/dist/meson.build
index 333c28e..7081dd9 100644
--- a/dump/dist/meson.build
+++ b/dump/dist/meson.build
@@ -3,37 +3,44 @@
 systemd_dep = dependency('systemd', required: true)
 
 systemd_system_unit_dir = systemd_dep.get_variable(
-    pkgconfig: 'systemdsystemunitdir'
+    pkgconfig: 'systemdsystemunitdir',
 )
 dist_conf_data = configuration_data()
 dist_conf_data.set('bindir', get_option('prefix') / get_option('bindir'))
 
 # Service installation
 configure_file(
-  input: 'openpower-dump-monitor.service',
-  output: 'openpower-dump-monitor.service',
-  configuration: dist_conf_data,
-  install: true,
-  install_dir: systemd_system_unit_dir
+    input: 'openpower-dump-monitor.service',
+    output: 'openpower-dump-monitor.service',
+    configuration: dist_conf_data,
+    install: true,
+    install_dir: systemd_system_unit_dir,
 )
 
 # Symlinks for services
 systemd_alias = [
-    ['../openpower-dump-monitor.service',
-     'obmc-host-startmin@0.target.wants/openpower-dump-monitor.service']
+    [
+        '../openpower-dump-monitor.service',
+        'obmc-host-startmin@0.target.wants/openpower-dump-monitor.service',
+    ],
 ]
 
-foreach service: systemd_alias
+foreach service : systemd_alias
     meson.add_install_script(
-        'sh', '-c',
+        'sh',
+        '-c',
         'mkdir -p $(dirname $DESTDIR/@0@/@1@)'.format(
-            systemd_system_unit_dir, service[1]
+            systemd_system_unit_dir,
+            service[1],
         ),
     )
     meson.add_install_script(
-        'sh', '-c',
+        'sh',
+        '-c',
         'ln -s @0@ $DESTDIR/@1@/@2@'.format(
-            service[0], systemd_system_unit_dir, service[1]
+            service[0],
+            systemd_system_unit_dir,
+            service[1],
         ),
     )
 endforeach
diff --git a/dump/meson.build b/dump/meson.build
index 8e82b02..19114b7 100644
--- a/dump/meson.build
+++ b/dump/meson.build
@@ -5,26 +5,23 @@
 sdeventplus_dep = dependency('sdeventplus')
 
 collect_deps = [
-   CLI11_dep,
-   phosphorlogging,
-   cxx.find_library('pdbg'),
-   cxx.find_library('libdt-api'),
-   cxx.find_library('phal'),
+    CLI11_dep,
+    phosphorlogging,
+    cxx.find_library('pdbg'),
+    cxx.find_library('libdt-api'),
+    cxx.find_library('phal'),
 ]
 
-monitor_deps = [
-    sdbusplus_dep,
-    phosphorlogging,
-]
+monitor_deps = [sdbusplus_dep, phosphorlogging]
 
 # source files
 
 collect_src = files(
-    'sbe_dump_collector.cpp',
+    'create_pel.cpp',
     'dump_collect_main.cpp',
     'dump_utils.cpp',
-    'create_pel.cpp',
     'dump_utils.cpp',
+    'sbe_dump_collector.cpp',
     'sbe_type.cpp',
 )
 
@@ -34,18 +31,20 @@
     'dump_utils.cpp',
 )
 
-executable('dump-collect',
+executable(
+    'dump-collect',
     collect_src,
     dependencies: collect_deps,
     implicit_include_directories: true,
-    install: true
+    install: true,
 )
 
-executable('openpower-dump-monitor',
+executable(
+    'openpower-dump-monitor',
     monitor_src,
     dependencies: monitor_deps,
     implicit_include_directories: true,
-    install: true
+    install: true,
 )
 
 bindir = get_option('bindir')
@@ -59,25 +58,28 @@
 subdir('tools')
 # Install collected files if any
 if scripts_to_install.length() > 0
-    install_data(scripts_to_install,
+    install_data(
+        scripts_to_install,
         install_dir: get_option('bindir'),
-        install_mode: 'rwxr-xr-x'
+        install_mode: 'rwxr-xr-x',
     )
 endif
 
 # Install collected include scripts if any
 if plugins_to_install.length() > 0
-    install_data(plugins_to_install,
+    install_data(
+        plugins_to_install,
         install_dir: dreport_plugins_dir,
-        install_mode: 'rwxr-xr-x'
+        install_mode: 'rwxr-xr-x',
     )
 endif
 
 # Install collected include scripts if any
 if include_scripts.length() > 0
-    install_data(include_scripts,
+    install_data(
+        include_scripts,
         install_dir: dreport_include_dir,
-        install_mode: 'rwxr-xr-x'
+        install_mode: 'rwxr-xr-x',
     )
 endif
 
diff --git a/dump/tools/bmcdump/meson.build b/dump/tools/bmcdump/meson.build
index 3020fae..117ffbb 100644
--- a/dump/tools/bmcdump/meson.build
+++ b/dump/tools/bmcdump/meson.build
@@ -2,6 +2,10 @@
 subdir('scripts')
 
 # Define the path for the configuration file
-dreport_conf_dir = join_paths(get_option('prefix'), get_option('datadir'), 'dreport.d/conf.d')
+dreport_conf_dir = join_paths(
+    get_option('prefix'),
+    get_option('datadir'),
+    'dreport.d/conf.d',
+)
 conf_file = meson.current_source_dir() / 'dreport_op.conf'
 install_data(conf_file, install_dir: dreport_conf_dir)
