mirror of https://github.com/GNOME/gimp.git
494 lines
11 KiB
Meson
494 lines
11 KiB
Meson
|
|
gimpenums_notail = custom_target('gimpenums.c.notail',
|
|
input : [ 'gimpenums.h', ],
|
|
output: [ 'gimpenums.c.notail', ],
|
|
command: [
|
|
gimp_mkenums,
|
|
'--fhead','#include "config.h"\n'
|
|
+ '#include <gio/gio.h>\n'
|
|
+ '#include <gegl.h>\n'
|
|
+ '#undef GIMP_DISABLE_DEPRECATED\n'
|
|
+ '#include "libgimpbase/gimpbase.h"\n'
|
|
+ '#include "libgimpbase/gimpbase-private.h"\n'
|
|
+ '#include "libgimpconfig/gimpconfigenums.h"\n'
|
|
+ '#include "gimpenums.h"\n',
|
|
libgimp_mkenums_custom_target_commonargs,
|
|
'@INPUT@',
|
|
],
|
|
capture: true,
|
|
)
|
|
|
|
gimpenums = custom_target('gimpenums.c',
|
|
input : [ gimpenums_notail, 'gimpenums.c.tail', ],
|
|
output: [ 'gimpenums.c', ],
|
|
command: [ 'cat', '@INPUT@' ],
|
|
capture: true,
|
|
)
|
|
|
|
gimpuimarshal = gnome.genmarshal('gimpuimarshal',
|
|
prefix: '_gimpui_marshal',
|
|
sources: 'gimpuimarshal.list',
|
|
install_header: false,
|
|
)
|
|
|
|
pdb_wrappers_sources = [
|
|
'gimp_pdb.c',
|
|
'gimpbrush_pdb.c',
|
|
'gimpbrushes_pdb.c',
|
|
'gimpbrushselect_pdb.c',
|
|
'gimpbuffer_pdb.c',
|
|
'gimpchannel_pdb.c',
|
|
'gimpcontext_pdb.c',
|
|
'gimpdebug_pdb.c',
|
|
'gimpdisplay_pdb.c',
|
|
'gimpdrawable_pdb.c',
|
|
'gimpdrawablecolor_pdb.c',
|
|
'gimpdrawableedit_pdb.c',
|
|
'gimpdynamics_pdb.c',
|
|
'gimpedit_pdb.c',
|
|
'gimpfile_pdb.c',
|
|
'gimpfloatingsel_pdb.c',
|
|
'gimpfonts_pdb.c',
|
|
'gimpfontselect_pdb.c',
|
|
'gimpgimprc_pdb.c',
|
|
'gimpgradient_pdb.c',
|
|
'gimpgradients_pdb.c',
|
|
'gimpgradientselect_pdb.c',
|
|
'gimphelp_pdb.c',
|
|
'gimpimage_pdb.c',
|
|
'gimpimagecolorprofile_pdb.c',
|
|
'gimpimageconvert_pdb.c',
|
|
'gimpimagegrid_pdb.c',
|
|
'gimpimageguides_pdb.c',
|
|
'gimpimagesamplepoints_pdb.c',
|
|
'gimpimageselect_pdb.c',
|
|
'gimpimagetransform_pdb.c',
|
|
'gimpimageundo_pdb.c',
|
|
'gimpitem_pdb.c',
|
|
'gimpitemtransform_pdb.c',
|
|
'gimplayer_pdb.c',
|
|
'gimpmessage_pdb.c',
|
|
'gimppainttools_pdb.c',
|
|
'gimppalette_pdb.c',
|
|
'gimppalettes_pdb.c',
|
|
'gimppaletteselect_pdb.c',
|
|
'gimppattern_pdb.c',
|
|
'gimppatterns_pdb.c',
|
|
'gimppatternselect_pdb.c',
|
|
'gimpprogress_pdb.c',
|
|
'gimpselection_pdb.c',
|
|
'gimptextlayer_pdb.c',
|
|
'gimptexttool_pdb.c',
|
|
'gimpvectors_pdb.c',
|
|
]
|
|
|
|
pdb_wrappers_headers = [
|
|
'gimp_pdb_headers.h',
|
|
'gimp_pdb.h',
|
|
'gimpbrush_pdb.h',
|
|
'gimpbrushes_pdb.h',
|
|
'gimpbrushselect_pdb.h',
|
|
'gimpbuffer_pdb.h',
|
|
'gimpchannel_pdb.h',
|
|
'gimpcontext_pdb.h',
|
|
'gimpdebug_pdb.h',
|
|
'gimpdisplay_pdb.h',
|
|
'gimpdrawable_pdb.h',
|
|
'gimpdrawablecolor_pdb.h',
|
|
'gimpdrawableedit_pdb.h',
|
|
'gimpdynamics_pdb.h',
|
|
'gimpedit_pdb.h',
|
|
'gimpfile_pdb.h',
|
|
'gimpfloatingsel_pdb.h',
|
|
'gimpfonts_pdb.h',
|
|
'gimpfontselect_pdb.h',
|
|
'gimpgimprc_pdb.h',
|
|
'gimpgradient_pdb.h',
|
|
'gimpgradients_pdb.h',
|
|
'gimpgradientselect_pdb.h',
|
|
'gimphelp_pdb.h',
|
|
'gimpimage_pdb.h',
|
|
'gimpimagecolorprofile_pdb.h',
|
|
'gimpimageconvert_pdb.h',
|
|
'gimpimagegrid_pdb.h',
|
|
'gimpimageguides_pdb.h',
|
|
'gimpimagesamplepoints_pdb.h',
|
|
'gimpimageselect_pdb.h',
|
|
'gimpimagetransform_pdb.h',
|
|
'gimpimageundo_pdb.h',
|
|
'gimpitem_pdb.h',
|
|
'gimpitemtransform_pdb.h',
|
|
'gimplayer_pdb.h',
|
|
'gimpmessage_pdb.h',
|
|
'gimppainttools_pdb.h',
|
|
'gimppalette_pdb.h',
|
|
'gimppalettes_pdb.h',
|
|
'gimppaletteselect_pdb.h',
|
|
'gimppattern_pdb.h',
|
|
'gimppatterns_pdb.h',
|
|
'gimppatternselect_pdb.h',
|
|
'gimpprogress_pdb.h',
|
|
'gimpselection_pdb.h',
|
|
'gimptextlayer_pdb.h',
|
|
'gimptexttool_pdb.h',
|
|
'gimpvectors_pdb.h',
|
|
]
|
|
|
|
libgimp_sources_introspectable = [
|
|
'gimp.c',
|
|
'gimpbatchprocedure.c',
|
|
'gimpbrushselect.c',
|
|
'gimpchannel.c',
|
|
'gimpdisplay.c',
|
|
'gimpdrawable.c',
|
|
'gimpfileprocedure.c',
|
|
'gimpfontselect.c',
|
|
'gimpgimprc.c',
|
|
'gimpgradientselect.c',
|
|
'gimpimage.c',
|
|
'gimpimagecolorprofile.c',
|
|
'gimpimagemetadata.c',
|
|
'gimpimagemetadata-save.c',
|
|
'gimpimageprocedure.c',
|
|
'gimpitem.c',
|
|
'gimplayer.c',
|
|
'gimplayermask.c',
|
|
'gimploadprocedure.c',
|
|
'gimppaletteselect.c',
|
|
'gimpparamspecs.c',
|
|
'gimppatternselect.c',
|
|
'gimppdb.c',
|
|
'gimpplugin.c',
|
|
'gimpprocedure.c',
|
|
'gimpprocedureconfig.c',
|
|
'gimpprogress.c',
|
|
'gimpsaveprocedure.c',
|
|
'gimpselection.c',
|
|
'gimpthumbnailprocedure.c',
|
|
'gimpvectors.c',
|
|
gimpenums,
|
|
pdb_wrappers_sources,
|
|
]
|
|
|
|
libgimp_sources = [
|
|
libgimp_sources_introspectable,
|
|
'gimp-debug.c',
|
|
'gimp-shm.c',
|
|
'gimpgpparams.c',
|
|
'gimpparamspecs-desc.c',
|
|
'gimppdb_pdb.c',
|
|
'gimppdbprocedure.c',
|
|
'gimppixbuf.c',
|
|
'gimpplugin_pdb.c',
|
|
'gimpunit_pdb.c',
|
|
'gimpunitcache.c',
|
|
'gimptilebackendplugin.c',
|
|
]
|
|
|
|
libgimp_headers_introspectable = [
|
|
# Order matters. Leave these headers at the top.
|
|
'gimp.h',
|
|
'gimptypes.h',
|
|
'gimpenums.h',
|
|
|
|
# Other headers
|
|
'gimpbatchprocedure.h',
|
|
'gimpbrushselect.h',
|
|
'gimpchannel.h',
|
|
'gimpdisplay.h',
|
|
'gimpdrawable.h',
|
|
'gimpfileprocedure.h',
|
|
'gimpfontselect.h',
|
|
'gimpgimprc.h',
|
|
'gimpgradientselect.h',
|
|
'gimpimage.h',
|
|
'gimpimagecolorprofile.h',
|
|
'gimpimagemetadata.h',
|
|
'gimpimageprocedure.h',
|
|
'gimpitem.h',
|
|
'gimplayer.h',
|
|
'gimplayermask.h',
|
|
'gimploadprocedure.h',
|
|
'gimppaletteselect.h',
|
|
'gimpparamspecs.h',
|
|
'gimppatternselect.h',
|
|
'gimppdb.h',
|
|
'gimpplugin.h',
|
|
'gimpprocedure.h',
|
|
'gimpprocedureconfig.h',
|
|
'gimpprogress.h',
|
|
'gimpsaveprocedure.h',
|
|
'gimpselection.h',
|
|
'gimpthumbnailprocedure.h',
|
|
'gimpvectors.h',
|
|
pdb_wrappers_headers,
|
|
]
|
|
|
|
libgimp_headers = [
|
|
libgimp_headers_introspectable,
|
|
'gimpprocedure-params.h',
|
|
]
|
|
|
|
libgimpui_sources_introspectable = [
|
|
'gimpaspectpreview.c',
|
|
'gimpbrushselectbutton.c',
|
|
'gimpdrawablepreview.c',
|
|
'gimpexport.c',
|
|
'gimpfontselectbutton.c',
|
|
'gimpgradientselectbutton.c',
|
|
'gimpimagecombobox.c',
|
|
'gimpitemcombobox.c',
|
|
'gimppaletteselectbutton.c',
|
|
'gimppatternselectbutton.c',
|
|
'gimpprocbrowserdialog.c',
|
|
'gimpproceduredialog.c',
|
|
'gimpprocview.c',
|
|
'gimpprogressbar.c',
|
|
'gimpsaveproceduredialog.c',
|
|
'gimpselectbutton.c',
|
|
'gimpui.c',
|
|
'gimpzoompreview.c',
|
|
]
|
|
|
|
libgimpui_sources = [
|
|
libgimpui_sources_introspectable,
|
|
gimpuimarshal,
|
|
]
|
|
|
|
libgimpui_headers_introspectable = [
|
|
# Order matters. Leave these headers at the top.
|
|
'gimpui.h',
|
|
'gimpuitypes.h',
|
|
|
|
# Other headers
|
|
'gimpaspectpreview.h',
|
|
'gimpbrushselectbutton.h',
|
|
'gimpdrawablepreview.h',
|
|
'gimpexport.h',
|
|
'gimpfontselectbutton.h',
|
|
'gimpgradientselectbutton.h',
|
|
'gimpimagecombobox.h',
|
|
'gimpitemcombobox.h',
|
|
'gimppaletteselectbutton.h',
|
|
'gimppatternselectbutton.h',
|
|
'gimpprocbrowserdialog.h',
|
|
'gimpproceduredialog.h',
|
|
'gimpprocview.h',
|
|
'gimpprogressbar.h',
|
|
'gimpsaveproceduredialog.h',
|
|
'gimpselectbutton.h',
|
|
'gimpzoompreview.h',
|
|
]
|
|
|
|
libgimp_introspectable = [
|
|
libgimp_sources_introspectable,
|
|
libgimp_headers_introspectable,
|
|
]
|
|
|
|
libgimpui_introspectable = [
|
|
libgimpui_sources_introspectable,
|
|
libgimpui_headers_introspectable,
|
|
]
|
|
|
|
|
|
libgimp = library('gimp-'+ gimp_api_version,
|
|
libgimp_sources,
|
|
include_directories: rootInclude,
|
|
dependencies: [
|
|
gegl,
|
|
gexiv2,
|
|
drmingw,
|
|
gtk3,
|
|
],
|
|
sources: [
|
|
pdbgen
|
|
],
|
|
c_args: [ '-DG_LOG_DOMAIN="LibGimp"', '-DGIMP_COMPILATION', ],
|
|
link_with: [
|
|
libgimpbase,
|
|
libgimpcolor,
|
|
libgimpconfig,
|
|
libgimpmodule,
|
|
],
|
|
vs_module_defs: 'gimp.def',
|
|
install: true,
|
|
version: so_version,
|
|
)
|
|
|
|
# Define an internal dependency for ease of reuse
|
|
libgimp_dep = declare_dependency(
|
|
dependencies: [
|
|
cairo,
|
|
gdk_pixbuf,
|
|
gegl,
|
|
],
|
|
link_with: [
|
|
libgimp,
|
|
libgimpbase,
|
|
libgimpcolor,
|
|
libgimpconfig,
|
|
libgimpmath,
|
|
libgimpmodule,
|
|
],
|
|
include_directories: rootInclude,
|
|
)
|
|
|
|
|
|
libgimpui = library('gimpui-'+ gimp_api_version,
|
|
libgimpui_sources,
|
|
dependencies: [
|
|
libgimp_dep,
|
|
gexiv2,
|
|
gtk3,
|
|
],
|
|
c_args: [ '-DG_LOG_DOMAIN="LibGimpUI"', '-DGIMP_COMPILATION', ],
|
|
link_with: [
|
|
libgimpwidgets,
|
|
],
|
|
vs_module_defs: 'gimpui.def',
|
|
install: true,
|
|
version: so_version,
|
|
)
|
|
|
|
# Define an internal dependency for ease of reuse
|
|
libgimpui_dep = declare_dependency(
|
|
dependencies: [
|
|
libgimp_dep,
|
|
gtk3,
|
|
],
|
|
link_with: [
|
|
libgimpui,
|
|
libgimpwidgets,
|
|
],
|
|
include_directories: rootInclude,
|
|
)
|
|
|
|
|
|
install_headers(
|
|
libgimp_headers,
|
|
libgimpui_headers_introspectable,
|
|
subdir: gimp_api_name / 'libgimp',
|
|
)
|
|
|
|
|
|
|
|
### GObject introspection
|
|
|
|
libgimp_introspectable_files = [
|
|
libgimp_introspectable,
|
|
libgimpbase_introspectable,
|
|
libgimpcolor_introspectable,
|
|
libgimpconfig_introspectable,
|
|
libgimpmath_introspectable,
|
|
libgimpmodule_introspectable,
|
|
'gimpparamspecs-body.c',
|
|
]
|
|
|
|
libgimpui_introspectable_files = [
|
|
libgimpui_introspectable,
|
|
libgimpwidgets_introspectable,
|
|
]
|
|
|
|
if meson.is_cross_build() and not get_option('can-crosscompile-gir')
|
|
have_gobject_introspection = false
|
|
gobject_introspection_warning = '\n '.join(['',
|
|
'GObject Introspection is disabled while cross-compiling because',
|
|
'GI tools do not manage to properly generate introspection data',
|
|
'while cross-compiling. Nevertheless we consider our introspected',
|
|
'API as a core component of GIMP, thus you are expected to build',
|
|
'this data natively.',
|
|
'To forcefully build with GObject Introspection, set:',
|
|
'-Dcan-crosscompile-gir=true'
|
|
])
|
|
warning(gobject_introspection_warning)
|
|
warnings += gobject_introspection_warning
|
|
else
|
|
have_gobject_introspection = true
|
|
libgimp_gir_includes = [
|
|
'Babl-0.1',
|
|
'cairo-1.0',
|
|
'GdkPixbuf-2.0',
|
|
'Gegl-0.4',
|
|
'Gio-2.0',
|
|
'GLib-2.0',
|
|
'GObject-2.0',
|
|
'Gtk-3.0',
|
|
]
|
|
|
|
gir_args = [
|
|
'-DGIMP_COMPILATION',
|
|
'-DGIMP_BASE_COMPILATION',
|
|
'-DGIMP_COLOR_COMPILATION',
|
|
'-DGIMP_CONFIG_COMPILATION',
|
|
'-DGIMP_MATH_COMPILATION',
|
|
'-DGIMP_MODULE_COMPILATION',
|
|
'-DGIMP_THUMB_COMPILATION',
|
|
'-DGIMP_WIDGETS_COMPILATION',
|
|
'-DGIMP_DISABLE_DEPRECATED',
|
|
'--quiet',
|
|
]
|
|
|
|
libgimp_gir = gnome.generate_gir(
|
|
libgimp,
|
|
libgimpbase,
|
|
libgimpcolor,
|
|
libgimpconfig,
|
|
libgimpmath,
|
|
libgimpmodule,
|
|
|
|
sources: libgimp_introspectable_files,
|
|
nsversion: gimp_api_version,
|
|
namespace: 'Gimp',
|
|
identifier_prefix: 'Gimp',
|
|
symbol_prefix: 'gimp',
|
|
export_packages: 'gimp-' + gimp_api_version,
|
|
header: 'libgimp/gimp.h',
|
|
includes: libgimp_gir_includes,
|
|
extra_args: gir_args,
|
|
include_directories: rootInclude,
|
|
install: true,
|
|
)
|
|
|
|
libgimpui_gir = gnome.generate_gir(
|
|
libgimpui,
|
|
libgimpwidgets,
|
|
|
|
sources: libgimpui_introspectable_files,
|
|
nsversion: gimp_api_version,
|
|
namespace: 'GimpUi',
|
|
identifier_prefix: 'Gimp',
|
|
symbol_prefix: [ 'gimp_ui', 'gimp' ],
|
|
export_packages: 'gimp-ui-' + gimp_api_version,
|
|
header: 'libgimp/gimpui.h',
|
|
includes: [ libgimp_gir_includes, libgimp_gir[0] ],
|
|
extra_args: gir_args,
|
|
include_directories: rootInclude,
|
|
install: true,
|
|
)
|
|
|
|
if have_vala
|
|
vapi_deps = [
|
|
'babl-0.1',
|
|
'cairo-1.0',
|
|
'gdk-pixbuf-2.0',
|
|
'gegl-0.4',
|
|
'gio-2.0',
|
|
'glib-2.0',
|
|
'gobject-2.0',
|
|
'gtk+-3.0',
|
|
]
|
|
|
|
libgimp_vapi = gnome.generate_vapi('gimp-' + gimp_api_version,
|
|
sources: libgimp_gir[0],
|
|
packages: vapi_deps,
|
|
install: true,
|
|
)
|
|
|
|
libgimpui_vapi = gnome.generate_vapi('gimp-ui-' + gimp_api_version,
|
|
sources: libgimpui_gir[0],
|
|
packages: vapi_deps + [ libgimp_vapi ],
|
|
install: true,
|
|
)
|
|
endif
|
|
endif
|