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

libappdisplay_sources = [
  'pikacanvas-style.c',
  'pikacanvas.c',
  'pikacanvasarc.c',
  'pikacanvasboundary.c',
  'pikacanvasbufferpreview.c',
  'pikacanvascanvasboundary.c',
  'pikacanvascorner.c',
  'pikacanvascursor.c',
  'pikacanvasgrid.c',
  'pikacanvasgroup.c',
  'pikacanvasguide.c',
  'pikacanvashandle.c',
  'pikacanvasitem-utils.c',
  'pikacanvasitem.c',
  'pikacanvaslayerboundary.c',
  'pikacanvaslimit.c',
  'pikacanvasline.c',
  'pikacanvaspassepartout.c',
  'pikacanvaspath.c',
  'pikacanvaspen.c',
  'pikacanvaspolygon.c',
  'pikacanvasprogress.c',
  'pikacanvasproxygroup.c',
  'pikacanvasrectangle.c',
  'pikacanvasrectangleguides.c',
  'pikacanvassamplepoint.c',
  'pikacanvastextcursor.c',
  'pikacanvastransformguides.c',
  'pikacanvastransformpreview.c',
  'pikacanvastext.c',
  'pikacanvastext.h',
  'pikacursorview.c',
  'pikadisplay-foreach.c',
  'pikadisplay-handlers.c',
  'pikadisplay.c',
  'pikadisplayshell-actions.c',
  'pikadisplayshell-appearance.c',
  'pikadisplayshell-autoscroll.c',
  'pikadisplayshell-callbacks.c',
  'pikadisplayshell-close.c',
  'pikadisplayshell-cursor.c',
  'pikadisplayshell-dnd.c',
  'pikadisplayshell-draw.c',
  'pikadisplayshell-expose.c',
  'pikadisplayshell-filter-dialog.c',
  'pikadisplayshell-filter.c',
  'pikadisplayshell-grab.c',
  'pikadisplayshell-handlers.c',
  'pikadisplayshell-items.c',
  'pikadisplayshell-layer-select.c',
  'pikadisplayshell-profile.c',
  'pikadisplayshell-progress.c',
  'pikadisplayshell-render.c',
  'pikadisplayshell-rotate-dialog.c',
  'pikadisplayshell-rotate.c',
  'pikadisplayshell-rulers.c',
  'pikadisplayshell-scale-dialog.c',
  'pikadisplayshell-scale.c',
  'pikadisplayshell-scroll.c',
  'pikadisplayshell-scrollbars.c',
  'pikadisplayshell-selection.c',
  'pikadisplayshell-title.c',
  'pikadisplayshell-tool-events.c',
  'pikadisplayshell-transform.c',
  'pikadisplayshell-utils.c',
  'pikadisplayshell.c',
  'pikamodifiersmanager.c',
  'pikaimagewindow.c',
  'pikamotionbuffer.c',
  'pikamultiwindowstrategy.c',
  'pikanavigationeditor.c',
  'pikascalecombobox.c',
  'pikasinglewindowstrategy.c',
  'pikastatusbar.c',
  'pikatoolcompass.c',
  'pikatooldialog.c',
  'pikatoolfocus.c',
  'pikatoolgui.c',
  'pikatoolgyroscope.c',
  'pikatoolhandlegrid.c',
  'pikatoolline.c',
  'pikatoolpath.c',
  'pikatoolpolygon.c',
  'pikatoolrectangle.c',
  'pikatoolrotategrid.c',
  'pikatoolsheargrid.c',
  'pikatooltransform3dgrid.c',
  'pikatooltransformgrid.c',
  'pikatoolwidget.c',
  'pikatoolwidgetgroup.c',

  'display-enums.c',
  stamp_display_enums,

  gitversion_h,

  appcoremarshal[1],
]

libappdisplay = static_library('appdisplay',
  libappdisplay_sources,
  include_directories: [ rootInclude, rootAppInclude, ],
  c_args: '-DG_LOG_DOMAIN="Pika-Display"',
  dependencies: [
    gegl, gtk3, cairo,
  ],
)
