stamp_operations_enums = custom_target('stamp-operations-enums.h',
  input : [
    files(
      'operations-enums.h'
    ),
  ],
  output: [ 'stamp-operations-enums.h', ],
  command: [
    mkenums_wrap, perl,
    meson.project_source_root(), meson.current_source_dir(),
    meson.current_build_dir(),
    'operations-',
    '#include <gio/gio.h>\n'              +
    '#include "libpikabase/pikabase.h"\n',
    '#include "pika-intl.h"'
  ],
  build_by_default: true
)

libappoperations_sources = [
  'pika-operation-config.c',
  'pika-operations.c',
  'pikabrightnesscontrastconfig.c',
  'pikacageconfig.c',
  'pikacolorbalanceconfig.c',
  'pikacurvesconfig.c',
  'pikahuesaturationconfig.c',
  'pikalevelsconfig.c',
  'pikaoperationborder.c',
  'pikaoperationbrightnesscontrast.c',
  'pikaoperationbuffersourcevalidate.c',
  'pikaoperationcagecoefcalc.c',
  'pikaoperationcagetransform.c',
  'pikaoperationcolorbalance.c',
  'pikaoperationcolorize.c',
  'pikaoperationcomposecrop.c',
  'pikaoperationcurves.c',
  'pikaoperationdesaturate.c',
  'pikaoperationequalize.c',
  'pikaoperationfillsource.c',
  'pikaoperationflood.c',
  'pikaoperationgradient.c',
  'pikaoperationgrow.c',
  'pikaoperationhistogramsink.c',
  'pikaoperationhuesaturation.c',
  'pikaoperationlevels.c',
  'pikaoperationmaskcomponents.cc',
  'pikaoperationoffset.c',
  'pikaoperationpointfilter.c',
  'pikaoperationposterize.c',
  'pikaoperationprofiletransform.c',
  'pikaoperationscalarmultiply.c',
  'pikaoperationsemiflatten.c',
  'pikaoperationsetalpha.c',
  'pikaoperationsettings.c',
  'pikaoperationshrink.c',
  'pikaoperationthreshold.c',
  'pikaoperationthresholdalpha.c',

  'operations-enums.c',
  stamp_operations_enums,
]

libappoperations = static_library('appoperations',
  libappoperations_sources,
  include_directories: [ rootInclude, rootAppInclude, ],
  c_args: '-DG_LOG_DOMAIN="Pika-Operations"',
  dependencies: [
    cairo, gegl, gdk_pixbuf,
  ],
)

subdir('layer-modes')
subdir('layer-modes-legacy')
subdir('tests')
