#
# $Id$
# $HeadURL$
# $Author$
#

# Make ${Qt6_Widgets} optional
if(QT6_GUI_AVAILABLE AND TARGET Qt6::Widgets)
  set(Qt6_Widgets ${Qt6_Widgets})
else()
  set(Qt6_Widgets "")
endif()


SET(pws_gui_SRCS
  pws_gui_plugin.h
  pws_gui_plugin.cpp

  pws_control_dialog.h
  pws_control_dialog.cpp

  pws_vnc_viewer_dialog.h
  pws_vnc_viewer_dialog.cpp

  pws_operator_settings_loader.h
  pws_operator_settings_loader.cpp

  WebSocket/pws_web_socket_client.h
  WebSocket/pws_web_socket_client.cpp
)

NGL_WRAP_UI(pws_gui_SRCS
  pws_control_dialog.ui
  pws_vnc_viewer_dialog.ui
)

NGL_ADD_LIBRARY(WS PwsGuiPlugin MODULE ${pws_gui_SRCS})
if(QT6_GUI_AVAILABLE)
  NGL_TARGET_LINK_LIBRARIES(PwsGuiPlugin
    ngltools
    NGLLogger
    nglsettings
    ${Qt6_Widgets}
    Qt6::Core
    Qt6::Network
    Qt6::OpenGL
    Qt6::OpenGLWidgets
    LtsSession
    LtsWidgets
    LtsUtilsGuiDds
    LtsUtilsSettings
    LtsSessionData
    LtsProjectionWorkstation
    LtsWebSocketServer
    PwsCommon
    svcPwsCommon
    AsmDataPluginInterface
    FltDataPluginInterface
    OpmDataPluginInterface
    OpmSettingsGuiPluginInterface
  )
endif()

NGL_INSTALL_TARGET(PwsGuiPlugin)
