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

libappwidgets_sources = [
  'pikaaccellabel.c',
  'pikaaction-history.c',
  'pikaaction.c',
  'pikaactioneditor.c',
  'pikaactionfactory.c',
  'pikaactiongroup.c',
  'pikaactionimpl.c',
  'pikaactionview.c',
  'pikablobeditor.c',
  'pikabrusheditor.c',
  'pikabrushfactoryview.c',
  'pikabrushselect.c',
  'pikabuffersourcebox.c',
  'pikabufferview.c',
  'pikacairo-mascot.c',
  'pikacellrendererbutton.c',
  'pikacellrendererdashes.c',
  'pikacellrendererviewable.c',
  'pikachanneltreeview.c',
  'pikacircle.c',
  'pikaclipboard.c',
  'pikacolorbar.c',
  'pikacolordialog.c',
  'pikacolordisplayeditor.c',
  'pikacoloreditor.c',
  'pikacolorframe.c',
  'pikacolorhistory.c',
  'pikacolormapeditor.c',
  'pikacolormapselection.c',
  'pikacolorpanel.c',
  'pikacolorselectorpalette.c',
  'pikacombotagentry.c',
  'pikacomponenteditor.c',
  'pikacompressioncombobox.c',
  'pikacontainerbox.c',
  'pikacontainercombobox.c',
  'pikacontainereditor.c',
  'pikacontainerentry.c',
  'pikacontainericonview.c',
  'pikacontainerpopup.c',
  'pikacontainertreestore.c',
  'pikacontainertreeview-dnd.c',
  'pikacontainertreeview.c',
  'pikacontainerview-utils.c',
  'pikacontainerview.c',
  'pikacontrollereditor.c',
  'pikacontrollerinfo.c',
  'pikacontrollerkeyboard.c',
  'pikacontrollerlist.c',
  'pikacontrollers.c',
  'pikacontrollerwheel.c',
  'pikacriticaldialog.c',
  'pikacursor.c',
  'pikacurveview.c',
  'pikadashboard.c',
  'pikadasheditor.c',
  'pikadataeditor.c',
  'pikadatafactoryview.c',
  'pikadeviceeditor.c',
  'pikadeviceinfo-coords.c',
  'pikadeviceinfo.c',
  'pikadeviceinfoeditor.c',
  'pikadevicemanager.c',
  'pikadevices.c',
  'pikadevicestatus.c',
  'pikadial.c',
  'pikadialogfactory.c',
  'pikadnd-xds.c',
  'pikadnd.c',
  'pikadock.c',
  'pikadockable.c',
  'pikadockbook.c',
  'pikadockcolumns.c',
  'pikadockcontainer.c',
  'pikadocked.c',
  'pikadockwindow.c',
  'pikadocumentview.c',
  'pikadoubleaction.c',
  'pikadrawabletreeview.c',
  'pikadynamicseditor.c',
  'pikadynamicsfactoryview.c',
  'pikadynamicsoutputeditor.c',
  'pikaeditor.c',
  'pikaenumaction.c',
  'pikaerrorconsole.c',
  'pikaerrordialog.c',
  'pikaexportdialog.c',
  'pikaextensionlist.c',
  'pikaextensiondetails.c',
  'pikafgbgeditor.c',
  'pikafgbgview.c',
  'pikafiledialog.c',
  'pikafileprocview.c',
  'pikafilleditor.c',
  'pikafontfactoryview.c',
  'pikafontselect.c',
  'pikagradienteditor.c',
  'pikagradientselect.c',
  'pikagrideditor.c',
  'pikahandlebar.c',
  'pikahelp.c',
  'pikahistogrambox.c',
  'pikahistogrameditor.c',
  'pikahistogramview.c',
  'pikaiconpicker.c',
  'pikaimagecommenteditor.c',
  'pikaimageeditor.c',
  'pikaimageparasiteview.c',
  'pikaimageprofileview.c',
  'pikaimagepropview.c',
  'pikaimageview.c',
  'pikaitemtreeview.c',
  'pikalanguagecombobox.c',
  'pikalanguageentry.c',
  'pikalanguagestore-parser.c',
  'pikalanguagestore.c',
  'pikalayermodebox.c',
  'pikalayermodecombobox.c',
  'pikalayertreeview.c',
  'pikamenu.c',
  'pikamenubar.c',
  'pikamenushell.c',
  'pikamenudock.c',
  'pikamenufactory.c',
  'pikamenumodel.c',
  'pikamessagebox.c',
  'pikamessagedialog.c',
  'pikameter.c',
  'pikamodifierseditor.c',
  'pikanavigationview.c',
  'pikaopendialog.c',
  'pikaoverlaybox.c',
  'pikaoverlaychild.c',
  'pikaoverlaydialog.c',
  'pikaoverlayframe.c',
  'pikapaletteeditor.c',
  'pikapaletteselect.c',
  'pikapaletteview.c',
  'pikapanedbox.c',
  'pikapatternfactoryview.c',
  'pikapatternselect.c',
  'pikapdbdialog.c',
  'pikapickablebutton.c',
  'pikapickablechooser.c',
  'pikapickablepopup.c',
  'pikapickableselect.c',
  'pikapivotselector.c',
  'pikapixbuf.c',
  'pikapluginview.c',
  'pikapolar.c',
  'pikapopup.c',
  'pikaprefsbox.c',
  'pikaprocedureaction.c',
  'pikaprogressbox.c',
  'pikaprogressdialog.c',
  'pikapropwidgets.c',
  'pikaradioaction.c',
  'pikarender.c',
  'pikasamplepointeditor.c',
  'pikasavedialog.c',
  'pikasearchpopup.c',
  'pikaselectiondata.c',
  'pikaselectioneditor.c',
  'pikasessioninfo-aux.c',
  'pikasessioninfo-book.c',
  'pikasessioninfo-dock.c',
  'pikasessioninfo-dockable.c',
  'pikasessioninfo.c',
  'pikasessionmanaged.c',
  'pikasettingsbox.c',
  'pikasettingseditor.c',
  'pikashortcutbutton.c',
  'pikasizebox.c',
  'pikastringaction.c',
  'pikastrokeeditor.c',
  'pikasymmetryeditor.c',
  'pikatagentry.c',
  'pikatagpopup.c',
  'pikatemplateeditor.c',
  'pikatemplateview.c',
  'pikatextbuffer-serialize.c',
  'pikatextbuffer.c',
  'pikatexteditor.c',
  'pikatextproxy.c',
  'pikatextstyleeditor.c',
  'pikatexttag.c',
  'pikathumbbox.c',
  'pikatoggleaction.c',
  'pikatoolbar.c',
  'pikatoolbox-color-area.c',
  'pikatoolbox-dnd.c',
  'pikatoolbox-image-area.c',
  'pikatoolbox-indicator-area.c',
  'pikatoolbox.c',
  'pikatoolbutton.c',
  'pikatooleditor.c',
  'pikatooloptionseditor.c',
  'pikatoolpalette.c',
  'pikatoolpreseteditor.c',
  'pikatoolpresetfactoryview.c',
  'pikatranslationstore.c',
  'pikauimanager.c',
  'pikaundoeditor.c',
  'pikavectorstreeview.c',
  'pikaview-popup.c',
  'pikaview.c',
  'pikaviewablebox.c',
  'pikaviewablebutton.c',
  'pikaviewabledialog.c',
  'pikaviewrenderer-frame.c',
  'pikaviewrenderer-utils.c',
  'pikaviewrenderer.c',
  'pikaviewrendererbrush.c',
  'pikaviewrendererbuffer.c',
  'pikaviewrendererdrawable.c',
  'pikaviewrenderergradient.c',
  'pikaviewrendererimage.c',
  'pikaviewrendererimagefile.c',
  'pikaviewrendererlayer.c',
  'pikaviewrendererpalette.c',
  'pikaviewrenderervectors.c',
  'pikawidgets-constructors.c',
  'pikawidgets-utils.c',
  'pikawindow.c',
  'pikawindowstrategy.c',

  'widgets-enums.c',
  stamp_widgets_enums,

  appcoremarshal[1],
]


libappwidgets = static_library('appwidgets',
  libappwidgets_sources,
  include_directories: [ rootInclude, rootAppInclude, ],
  c_args: '-DG_LOG_DOMAIN="Pika-Widgets"',
  dependencies: [
    gegl, gtk3,
  ],
)
