diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..8a99aa5
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,152 @@
+project(
+    'phosphor-pid-control', 'cpp',
+    version : '1.0.0',
+    meson_version: '>=0.63.0',
+    default_options: [
+        'warning_level=3',
+        'werror=true',
+        'cpp_std=c++20',
+    ]
+)
+
+conf_data = configuration_data()
+
+bindir = get_option('prefix') / get_option('bindir')
+conf_data.set('BINDIR', bindir)
+conf_data.set('SYSTEMD_TARGET', get_option('systemd_target'))
+conf_data.set('STRICT_FAILSAFE_PWM', get_option('strict-failsafe-pwm'))
+
+configure_file(output: 'config.h',
+    configuration: conf_data
+)
+
+if get_option('oe-sdk').enabled()
+    OECORE_TARGET_SYSROOT = run_command('sh', '-c', 'echo $OECORE_TARGET_SYSROOT').stdout().strip()
+    if OECORE_TARGET_SYSROOT == ''
+        error('OECORE_TARGET_SYSROOT must be set with enable oe-sdk')
+    endif
+    message('Enabling OE-SDK at OECORE_TARGET_SYSROOT: ' + OECORE_TARGET_SYSROOT)
+    rpath = ':'.join([OECORE_TARGET_SYSROOT + '/lib', OECORE_TARGET_SYSROOT + '/usr/lib'])
+    ld_so = run_command('sh', '-c', 'find ' + OECORE_TARGET_SYSROOT + '/lib/ld-*.so | sort -r -n | head -n1').stdout().strip()
+    dynamic_linker = ['-Wl,-dynamic-linker,' + ld_so]
+else
+    dynamic_linker = []
+endif
+
+systemd = dependency('systemd')
+systemd_system_unit_dir = systemd.get_variable(
+        pkgconfig: 'systemdsystemunitdir',
+        pkgconfig_define: ['prefix', get_option('prefix')])
+
+configure_file(input: 'phosphor-pid-control.service.in',
+               output: 'phosphor-pid-control.service',
+               configuration: conf_data,
+               install: true,
+               install_dir: systemd_system_unit_dir)
+
+phosphor_dbus_interfaces_dep = dependency('phosphor-dbus-interfaces')
+phosphor_logging_dep = dependency('phosphor-logging')
+sdbusplus_dep = dependency('sdbusplus')
+libsystemd_dep = dependency('libsystemd')
+ipmid_dep = dependency('libipmid')
+
+deps = [
+    phosphor_dbus_interfaces_dep,
+    phosphor_logging_dep,
+    sdbusplus_dep,
+    libsystemd_dep,
+    ipmid_dep,
+]
+
+root_inc = include_directories(
+    '.',
+    'buildjson',
+    'dbus',
+    'errors',
+    'experiments',
+    'ipmi',
+    'notimpl',
+    'pid',
+    'sensors',
+    'sysfs',
+)
+
+setsensor_sources = [
+    'setsensor.cpp'
+]
+
+libswampd_sources = [
+    'main.cpp',
+    'util.cpp',
+    'notimpl/readonly.cpp',
+    'notimpl/writeonly.cpp',
+    'dbus/dbusconfiguration.cpp',
+    'dbus/dbusutil.cpp',
+    'dbus/dbushelper.cpp',
+    'dbus/dbuspassiveredundancy.cpp',
+    'dbus/dbuspassive.cpp',
+    'dbus/dbusactiveread.cpp',
+    'dbus/dbuswrite.cpp',
+    'sysfs/sysfsread.cpp',
+    'sysfs/sysfswrite.cpp',
+    'sysfs/util.cpp',
+    'sensors/pluggable.cpp',
+    'sensors/host.cpp',
+    'sensors/builder.cpp',
+    'sensors/buildjson.cpp',
+    'sensors/manager.cpp',
+    'sensors/build_utils.cpp',
+    'pid/ec/pid.cpp',
+    'pid/ec/stepwise.cpp',
+    'pid/fancontroller.cpp',
+    'pid/thermalcontroller.cpp',
+    'pid/pidcontroller.cpp',
+    'pid/stepwisecontroller.cpp',
+    'pid/builder.cpp',
+    'pid/buildjson.cpp',
+    'pid/zone.cpp',
+    'pid/util.cpp',
+    'pid/pidloop.cpp',
+    'pid/tuning.cpp',
+    'buildjson/buildjson.cpp',
+    'experiments/drive.cpp',
+]
+
+libmanualcmds_sources = [
+    'ipmi/main_ipmi.cpp',
+    'ipmi/manualcmds.cpp',
+    'ipmi/dbus_mode.cpp',
+]
+
+libmanualcmds = library(
+    'manualcmds',
+    libmanualcmds_sources,
+    implicit_include_directories: false,
+    dependencies: deps,
+    version: meson.project_version(),
+    override_options: ['b_lundef=false'],
+    install: true,
+    install_dir: get_option('libdir') / 'ipmid-providers')
+
+executable(
+    'swampd',
+    libswampd_sources,
+    implicit_include_directories: false,
+    include_directories: root_inc,
+    dependencies: deps,
+    install: true,
+    install_dir: get_option('bindir')
+)
+
+executable(
+    'setsensor',
+    setsensor_sources,
+    implicit_include_directories: true,
+    dependencies: deps,
+    install: true,
+    install_dir: get_option('bindir')
+)
+
+if not get_option('tests').disabled()
+    subdir('test')
+endif
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 0000000..9655044
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,4 @@
+option('tests', type: 'feature', value: 'disabled', description: 'Build tests')
+option('oe-sdk', type: 'feature', value: 'disabled', description: 'Enable OE SDK')
+option('strict-failsafe-pwm', type: 'boolean', value: false, description: 'Set the fans strictly at the failsafe PWM when in failsafe mode')
+option('systemd_target', type: 'string', value: 'multi-user.target', description: 'Target for starting this service')
diff --git a/test/meson.build b/test/meson.build
new file mode 100644
index 0000000..8963593
--- /dev/null
+++ b/test/meson.build
@@ -0,0 +1,84 @@
+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', 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').enabled(), 'Googletest is required')
+    endif
+endif
+
+swampd_sources = include_directories('../')
+
+unit_tests = [
+    'dbus_active_unittest',
+    'dbus_passive_unittest',
+    'dbus_util_unittest',
+    'json_parse_unittest',
+    'pid_json_unittest',
+    'pid_fancontroller_unittest',
+    'pid_stepwisecontroller_unittest',
+    'pid_thermalcontroller_unittest',
+    'pid_zone_unittest',
+    'sensor_host_unittest',
+    'sensor_manager_unittest',
+    'sensor_pluggable_unittest',
+    'sensors_json_unittest',
+    'util_unittest',
+]
+
+unittest_source = {
+    'dbus_active_unittest': ['../dbus/dbusactiveread.cpp'],
+    'dbus_passive_unittest': ['../dbus/dbuspassive.cpp',
+                              '../dbus/dbuspassiveredundancy.cpp',
+                              '../dbus/dbusutil.cpp'],
+    'dbus_util_unittest': ['../dbus/dbusutil.cpp'],
+    'json_parse_unittest': ['../buildjson/buildjson.cpp'],
+    'pid_json_unittest': ['../pid/buildjson.cpp'],
+    'pid_fancontroller_unittest': ['../pid/ec/pid.cpp',
+                                   '../pid/fancontroller.cpp',
+                                   '../pid/pidcontroller.cpp',
+                                   '../pid/tuning.cpp',
+                                   '../pid/util.cpp'],
+    'pid_stepwisecontroller_unittest': ['../pid/ec/stepwise.cpp',
+                                        '../pid/stepwisecontroller.cpp',
+                                        '../pid/util.cpp'],
+    'pid_thermalcontroller_unittest': ['../pid/ec/pid.cpp',
+                                       '../pid/pidcontroller.cpp',
+                                       '../pid/thermalcontroller.cpp',
+                                       '../pid/tuning.cpp',
+                                       '../pid/util.cpp'],
+    'pid_zone_unittest': ['../pid/ec/pid.cpp',
+                          '../pid/pidcontroller.cpp',
+                          '../pid/tuning.cpp',
+                          '../pid/zone.cpp',
+                          '../sensors/manager.cpp'],
+    'sensor_host_unittest': ['../sensors/host.cpp'],
+    'sensor_manager_unittest': ['../sensors/manager.cpp'],
+    'sensor_pluggable_unittest': ['../sensors/pluggable.cpp'],
+    'sensors_json_unittest': ['../sensors/buildjson.cpp'],
+    'util_unittest': ['../sensors/build_utils.cpp']
+}
+
+foreach t : unit_tests
+    test(t, executable(t.underscorify(), t + '.cpp',
+                       unittest_source.get(t),
+                       include_directories: [
+                           swampd_sources,
+                       ],
+                       link_args: dynamic_linker,
+                       build_rpath: get_option('oe-sdk').enabled() ? rpath : '',
+                       dependencies: [
+                           gtest,
+                           gmock,
+                           deps,
+                       ]))
+endforeach
