#
# $Id$
# $HeadURL$
# $Author$
# Created by Mike Wille, SLSE, 2016-05-12
#

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


SET(opm_login_gui_SRCS
  opm_login_dialog_gui_plugin.cpp
  opm_login_dialog_gui_plugin.h
  opm_login_dialog.cpp
  opm_login_dialog.h
  opm_login_operator_dialog.cpp
  opm_login_operator_dialog.h
  opm_login_remote_shutdown_dialog.cpp
  opm_login_remote_shutdown_dialog.h
  opm_login_workstation_model.cpp
  opm_login_workstation_model.h
)

NGL_WRAP_UI(opm_login_gui_SRCS
  opm_login_dialog.ui
  opm_login_operator_dialog.ui
  opm_login_remote_shutdown_dialog.ui
)

IF(UNIX)
  SET(X11_LIB X11)
ENDIF()

NGL_ADD_LIBRARY(WS OpmLoginGuiPlugin MODULE ${opm_login_gui_SRCS})


if(CMAKE_VERSION VERSION_LESS 3.16.0 AND BOTAN_FOUND) # botan doesn't use cmake
  target_include_directories(OpmLoginGuiPlugin SYSTEM PRIVATE ${BOTAN_INCLUDE_DIRS})
  set(LTS_BOTAN ${BOTAN_LIBRARIES})
endif()


IF(BUILD_RTI)
if(QT6_GUI_AVAILABLE)
  NGL_TARGET_LINK_LIBRARIES(OpmLoginGuiPlugin
    NGLLogger
    OpmDataPluginInterface
    AsmDataPluginInterface # workstation id
    ${Qt6_Widgets}
    Qt6::Network
    LtsWidgets
    LtsSessionData
    LtsSession
    LtsUtilsGuiDds # RequestHelper
    LtsUtilsSettings # user-settings
    LtsUtilsGuiConnectDialog
    LtsMultiMonitor
    LtsUtilsGuiStyleManager
    LtsProjectionWorkstation
    LtsPluginManager
    LtsAppManager
    #LtsTranslator
    ngltranslator
    ngltools
    nglsettings
    ${X11_LIB} # focus test, debug
  
    ExmDataPluginInterface
    ddscore # srm dtc
  
    ${LTS_BOTAN} # only if available
  )
endif()
ENDIF(BUILD_RTI)

NGL_INSTALL_TARGET(OpmLoginGuiPlugin)


