gimp/plug-ins/meson.build

118 lines
2.9 KiB
Meson
Raw Permalink Normal View History

2017-11-01 14:27:13 +01:00
subdir('common')
all_plugins_sources = []
foreach plugin : common_plugins_list
if plugin.get('name').startswith('file-') and plugin.get('name') != 'file-desktop-link' and plugin.get('name') != 'file-lnk'
all_plugins_sources += [ meson.current_source_dir() / 'common' / plugin.get('name') + '.c' ]
endif
endforeach
complex_plugins_list = [
{ 'name': 'file-bmp', },
{ 'name': 'file-dds', },
{ 'name': 'file-faxg3', },
{ 'name': 'file-fli', },
{ 'name': 'file-icns', },
{ 'name': 'file-ico', },
{ 'name': 'file-jpeg', },
{ 'name': 'file-psd', },
{ 'name': 'file-raw', },
{ 'name': 'file-sgi', },
{ 'name': 'file-tiff', },
{ 'name': 'flame', },
{ 'name': 'fractal-explorer', },
{ 'name': 'gfig', },
{ 'name': 'gimpressionist', },
{ 'name': 'gradient-flare', },
{ 'name': 'help', },
{ 'name': 'ifs-compose', },
{ 'name': 'imagemap', },
{ 'name': 'lighting', },
{ 'name': 'map-object', },
{ 'name': 'metadata', },
{ 'name': 'pagecurl', },
{ 'name': 'print', },
{ 'name': 'screenshot', },
{ 'name': 'script-fu', },
{ 'name': 'selection-to-path', }
]
if openexr.found()
complex_plugins_list += {
'name': 'file-exr',
}
endif
if cfitsio_dep.found()
complex_plugins_list += {
'name': 'file-fits',
}
endif
if webp_found
complex_plugins_list += {
'name': 'file-webp',
}
endif
if get_option('webkit-unmaintained')
complex_plugins_list += {
'name': 'help-browser',
}
endif
if platform_windows and host_cpu_family == 'x86'
complex_plugins_list += {
'name': 'twain',
}
endif
foreach plugin : complex_plugins_list
subdir(plugin.get('name'))
foreach sourcecode : plugin_sourcecode
if plugin.get('name').startswith('file-')
#.ico files are handled in a special way by installer and msix scripts
if plugin.get('name') == 'file-ico' and platform_windows
continue
else
all_plugins_sources += [ meson.current_source_dir() / plugin.get('name') / sourcecode ]
endif
endif
endforeach
endforeach
2017-11-01 14:27:13 +01:00
subdir('python')
foreach plugin : python_plugins
if plugin.get('name').startswith('file-')
all_plugins_sources += [ meson.current_source_dir() / 'python' / plugin.get('name') + '.py' ]
endif
endforeach
#Dynamically created list of supported files with the plugins lists above
MIMEtypes_output = run_command(
python,
meson.current_source_dir() / 'generate_mime_ext.py',
'--mime',
meson.current_build_dir() / 'file_mimetypes.list',
all_plugins_sources
).stdout().strip()
MIMEtypes_dep = declare_dependency(variables : {'MIMEtypes': MIMEtypes_output})
if get_option('windows-installer') or get_option('ms-store')
custom_target('file_associations',
input : all_plugins_sources,
output : 'file_associations.list',
command : [
python,
meson.current_source_dir() / 'generate_mime_ext.py',
'--association',
'@OUTPUT@',
] + all_plugins_sources,
build_by_default: true
)
endif