diff --git a/meson.build b/meson.build index 3d8e5508..5572bf61 100644 --- a/meson.build +++ b/meson.build @@ -42,7 +42,16 @@ 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_wcslib = get_option('wcslib') +enable_criterion = get_option('criterion') # General version siril_version = meson.project_version() @@ -257,32 +266,67 @@ 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 + +criterion_dep = no_dep +if enable_criterion + criterion_dep = dependency('criterion', required : true) endif -criterion_dep = dependency('criterion', required : false) -wcslib_dep = dependency('wcslib', fallback : ['wcslib', 'wcslib_dep'], required : false) +wcslib_dep = no_dep +if enable_wcslib + wcslib_dep = dependency('wcslib', fallback : ['wcslib', 'wcslib_dep'], required : true) +endif ################################################################################ # Configuration diff --git a/meson_options.txt b/meson_options.txt index cd4b9cc1..5e48ae1f 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -12,9 +12,63 @@ 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('criterion', + type : 'boolean', + value : 'false', + description: 'build with criterion support' +) + +option('wcslib', + type : 'boolean', + value : 'false', + description: 'build with WCSLIB support' +)