diff --git a/meson.build b/meson.build
index 4465a3851a30..43d4a57602bb 100644
--- a/meson.build
+++ b/meson.build
@@ -27,9 +27,15 @@ libcamera_includes = include_directories('include')
 
 subdir('include')
 subdir('src')
-subdir('test')
 subdir('utils')
-subdir('Documentation')
+
+if get_option('tests')
+	subdir('test')
+endif
+
+if get_option('documentation')
+	subdir('Documentation')
+endif
 
 pkg_mod = import('pkgconfig')
 pkg_mod.generate(libraries : libcamera,
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 000000000000..c5df661a2286
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,2 @@
+option('tests', type : 'boolean')
+option('documentation', type : 'boolean')
