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

libapptools_sources = [
  'pika-tools.c',
  'pika-tool-options-manager.c',
  'pikaairbrushtool.c',
  'pikaalignoptions.c',
  'pikaaligntool.c',
  'pikabrightnesscontrasttool.c',
  'pikabrushtool.c',
  'pikabucketfilloptions.c',
  'pikabucketfilltool.c',
  'pikabycolorselecttool.c',
  'pikacageoptions.c',
  'pikacagetool.c',
  'pikacloneoptions-gui.c',
  'pikaclonetool.c',
  'pikacoloroptions.c',
  'pikacolorpickeroptions.c',
  'pikacolorpickertool.c',
  'pikacolortool.c',
  'pikaconvolvetool.c',
  'pikacropoptions.c',
  'pikacroptool.c',
  'pikacurvestool.c',
  'pikadodgeburntool.c',
  'pikadrawtool.c',
  'pikaeditselectiontool.c',
  'pikaellipseselecttool.c',
  'pikaerasertool.c',
  'pikafilteroptions.c',
  'pikafiltertool-settings.c',
  'pikafiltertool-widgets.c',
  'pikafiltertool.c',
  'pikaflipoptions.c',
  'pikafliptool.c',
  'pikaforegroundselectoptions.c',
  'pikaforegroundselecttool.c',
  'pikaforegroundselecttoolundo.c',
  'pikafreeselecttool.c',
  'pikafuzzyselecttool.c',
  'pikagegltool.c',
  'pikagenerictransformtool.c',
  'pikagradientoptions.c',
  'pikagradienttool-editor.c',
  'pikagradienttool.c',
  'pikaguidetool.c',
  'pikahandletransformoptions.c',
  'pikahandletransformtool.c',
  'pikahealtool.c',
  'pikahistogramoptions.c',
  'pikainkoptions-gui.c',
  'pikainktool.c',
  'pikaiscissorsoptions.c',
  'pikaiscissorstool.c',
  'pikalevelstool.c',
  'pikamagnifyoptions.c',
  'pikamagnifytool.c',
  'pikameasureoptions.c',
  'pikameasuretool.c',
  'pikamoveoptions.c',
  'pikamovetool.c',
  'pikamybrushoptions-gui.c',
  'pikamybrushtool.c',
  'pikanpointdeformationoptions.c',
  'pikanpointdeformationtool.c',
  'pikaoffsettool.c',
  'pikaoperationtool.c',
  'pikapaintbrushtool.c',
  'pikapaintoptions-gui.c',
  'pikapaintselectoptions.c',
  'pikapaintselecttool.c',
  'pikapainttool-paint.c',
  'pikapainttool.c',
  'pikapenciltool.c',
  'pikaperspectiveclonetool.c',
  'pikaperspectivetool.c',
  'pikapolygonselecttool.c',
  'pikarectangleoptions.c',
  'pikarectangleselectoptions.c',
  'pikarectangleselecttool.c',
  'pikaregionselectoptions.c',
  'pikaregionselecttool.c',
  'pikarotatetool.c',
  'pikasamplepointtool.c',
  'pikascaletool.c',
  'pikaseamlesscloneoptions.c',
  'pikaseamlessclonetool.c',
  'pikaselectionoptions.c',
  'pikaselectiontool.c',
  'pikasheartool.c',
  'pikasmudgetool.c',
  'pikasourcetool.c',
  'pikatextoptions.c',
  'pikatexttool-editor.c',
  'pikatexttool.c',
  'pikathresholdtool.c',
  'pikatilehandleriscissors.c',
  'pikatool-progress.c',
  'pikatool.c',
  'pikatoolcontrol.c',
  'pikatooloptions-gui.c',
  'pikatools-utils.c',
  'pikatransform3doptions.c',
  'pikatransform3dtool.c',
  'pikatransformgridoptions.c',
  'pikatransformgridtool.c',
  'pikatransformgridtoolundo.c',
  'pikatransformoptions.c',
  'pikatransformtool.c',
  'pikaunifiedtransformtool.c',
  'pikavectoroptions.c',
  'pikavectortool.c',
  'pikawarpoptions.c',
  'pikawarptool.c',
  'tool_manager.c',
  'tools-enums.c',
  stamp_tools_enums,

  appcoremarshal[1],
]

libapptools = static_library('apptools',
  libapptools_sources,
  include_directories: [ rootInclude, rootAppInclude, ],
  c_args: '-DG_LOG_DOMAIN="Pika-Tools"',
  dependencies: [
    gegl, gtk3,
  ],
)
