set(headers)
set(interfaces)
set(sources)

set(classes
  pqAEVAShortcuts
  pqAEVASurfaceFeatureToolBar
  pqFeatureReaction
)

set(CMAKE_AUTOMOC 1)

foreach(class ${classes})
  list(APPEND sources ${class}.cxx)
  list(APPEND headers ${class}.h)
endforeach()

paraview_plugin_add_toolbar(
  CLASS_NAME pqAEVASurfaceFeatureToolBar
  INTERFACES action_group_interfaces
  SOURCES action_group_sources
)

list(APPEND interfaces ${action_group_interfaces} pqAEVAShortcuts)
list(APPEND sources ${action_group_sources})

smtk_add_plugin(
  smtkAEVASessionPlugin
  REGISTRAR
    smtk::session::aeva::Registrar
  MANAGERS
    smtk::operation::Manager
    smtk::resource::Manager
    smtk::view::Manager
  PARAVIEW_PLUGIN_ARGS
    VERSION "1.0"
    REQUIRED_ON_CLIENT
    UI_INTERFACES ${interfaces}
    SOURCES ${sources}
)
target_link_libraries(smtkAEVASessionPlugin
  LINK_PUBLIC
    smtkAEVASession
  LINK_PRIVATE
    ParaView::pqApplicationComponents
    smtkPQComponentsExt
)
