diff --git a/meson.build b/meson.build
index fdfc3745..c8823c6f 100644
--- a/meson.build
+++ b/meson.build
@@ -42,7 +42,17 @@ srcInclude  = include_directories('src')
 
 warnings = []
 
-enable_openmp = get_option('openmp')
+enable_openmp    = get_option('openmp')
+enable_libraw    = get_option('libraw')
+enable_libtiff   = get_option('libtiff')
+enable_libjpeg   = get_option('libjpeg')
+enable_libpng    = get_option('libpng')
+enable_libheif   = get_option('libheif')
+enable_ffms2     = get_option('ffms2')
+enable_ffmpeg    = get_option('ffmpeg')
+enable_libconfig = get_option('libconfig')
+enable_criterion = get_option('criterion')
+enable_wcslib    = get_option('wcslib')
 
 # General version
 siril_version = meson.project_version()
@@ -256,33 +266,72 @@ if enable_openmp
     siril_cpp_flag += ['-Xpreprocessor', '-fopenmp']
     siril_c_flag += ['-Xpreprocessor', '-fopenmp']
   else
-  openmp_dep = dependency('openmp', required : false)
+  openmp_dep = dependency('openmp', required : true)
   endif
 else
   message('OpenMP disabled')
 endif
 
-libraw_dep = dependency('libraw', required : false)
-libtiff_dep = dependency('libtiff-4', required : false)
-libjpeg_dep = dependency('libjpeg', required : false)
-libpng_dep = dependency('libpng', required : false, version: '>= 1.6.0')
-libheif_dep = dependency('libheif', required : false)
-ffms2_dep = dependency('ffms2', required : false)
-ffmpeg = [
-  dependency('libavformat', required : false),
-  dependency('libavcodec', required : false),
-  dependency('libavutil', version : '>= 55.20', required : false),
-  dependency('libswscale', required : false),
-  dependency('libswresample', required : false)
-]
+libraw_dep = no_dep
+if enable_libraw
+  libraw_dep = dependency('libraw', required : true)
+endif
+
+libtiff_dep = no_dep
+if enable_libtiff
+  libtiff_dep = dependency('libtiff-4', required : true)
+endif
+
+libjpeg_dep = no_dep
+if enable_libjpeg
+  libjpeg_dep = dependency('libjpeg', required : true)
+endif
+
+libpng_dep = no_dep
+if enable_libpng
+  libpng_dep = dependency('libpng', required : true, version: '>= 1.6.0')
+endif
+
+libheif_dep = no_dep
+if enable_libheif
+  libheif_dep = dependency('libheif', required : true)
+endif
+
+ffms2_dep = no_dep
+if enable_ffms2
+  ffms2_dep = dependency('ffms2', required : true)
+endif
+
+ffmpeg = []
+if enable_ffmpeg
+  ffmpeg = [
+    dependency('libavformat', required : true),
+    dependency('libavcodec', required : true),
+    dependency('libavutil', version : '>= 55.20', required : true),
+    dependency('libswscale', required : true),
+    dependency('libswresample', required : true)
+  ]
+endif
+
 libcurl_dep = no_dep
 if enable_libcurl
-  libcurl_dep = dependency('libcurl', required : false)
+  libcurl_dep = dependency('libcurl', required : true)
 endif
-libconfig_dep = dependency('libconfig', required : false)
-criterion_dep = dependency('criterion', required : false)
 
-wcslib_dep = dependency('wcslib', fallback : ['wcslib', 'wcslib_dep'], required : false)
+libconfig_dep = no_dep
+if enable_libconfig
+  libconfig_dep = dependency('libconfig', required : true)
+endif
+
+criterion_dep = no_dep
+if enable_criterion
+  criterion_dep = dependency('criterion', required : true)
+endif
+
+wcslib_dep = no_dep
+if enable_wcslib
+  wcslib_dep = dependency('wcslib', fallback : ['wcslib', 'wcslib_dep'], required : true)
+endif
 
 ################################################################################
 # Configuration
@@ -546,6 +595,7 @@ summary(
     'FFMPEG'    : ffmpeg_found,
     'libcurl'   : libcurl_dep.found(),
     'wcslib'    : wcslib_dep.found(),
+    'libconfig' : libconfig_dep.found(),
     'criterion' : criterion_dep.found(),
   }, section: 'Optional dependencies'
 )
diff --git a/meson_options.txt b/meson_options.txt
index cd4b9cc1..07b4b904 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -12,9 +12,69 @@ option('openmp',
  description: 'build with OpenMP support'
 )
 
+option('libraw',
+ type : 'boolean',
+ value : 'false',
+ description: 'build with LibRaw support'
+)
+
+option('libtiff',
+ type : 'boolean',
+ value : 'false',
+ description: 'build with TIFF support'
+)
+
+option('libjpeg',
+ type : 'boolean',
+ value : 'false',
+ description: 'build with JPEG support'
+)
+
+option('libpng',
+ type : 'boolean',
+ value : 'false',
+ description: 'build with PNG support'
+)
+
+option('libheif',
+ type : 'boolean',
+ value : 'false',
+ description: 'build with HEIF support'
+)
+
+option('ffms2',
+ type : 'boolean',
+ value : 'false',
+ description: 'build with FFMS2 support'
+)
+
+option('ffmpeg',
+ type : 'boolean',
+ value : 'false',
+ description: 'build with FFmpeg support'
+)
+
 option('enable-libcurl',
  type: 'combo', 
  value: 'platform-default',
  description: 'Use libcurl instead of GIO',
  choices: [ 'yes', 'no', 'platform-default' ]
-)
\ No newline at end of file
+)
+
+option('libconfig',
+ type : 'boolean',
+ value : 'true',
+ description: 'build with libconfig support'
+)
+
+option('criterion',
+ type : 'boolean',
+ value : 'false',
+ description: 'build with criterion support'
+)
+
+option('wcslib',
+ type : 'boolean',
+ value : 'false',
+ description: 'build with WCSLIB support'
+)
