diff --git a/.gitignore b/.gitignore
index 8477d66355d9..9bb5e963abeb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
+build/
 raw2rgbpnm
 *.o
diff --git a/meson.build b/meson.build
new file mode 100644
index 000000000000..4fba1229b691
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,34 @@
+# SPDX-License-Identifier: CC0-1.0
+
+project('raw2rgbpnm', 'c',
+    meson_version : '>= 0.40',
+    version : '0.0.0',
+    default_options : [
+        'werror=true',
+        'warning_level=2',
+    ],
+    license : 'GPL 2.0+')
+
+#
+# Configure the build environment
+#
+cc = meson.get_compiler('c')
+
+cc_arguments = [
+    '-Wno-missing-field-initializers',
+]
+
+add_project_arguments(cc_arguments, language : 'c')
+
+#
+# raw2rgbpnm
+#
+raw2rgbpnm_sources = files([
+    'raw2rgbpnm.c',
+    'raw_to_rgb.c',
+    'utils.c',
+])
+
+raw2rgbpnm = executable('raw2rgbpnm', raw2rgbpnm_sources,
+                        include_directories : include_directories('include'),
+                        install : true)
