#
# $Id$
# $HeadURL$
# $Author$
#
# CMakeLists.txt fuer DdsView
#

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


set(CMAKE_AUTOUIC_SEARCH_PATHS ${CMAKE_CURRENT_SOURCE_DIR}/ui)

SET(ddsview_SRCS
  detailview.cpp
  detailviewdlg.cpp
  detailviewdlg.h
  detailview.h
  initialisation.cpp
  initialisation.h
  logger.cpp
  logger.h
  main.cpp
  mainwindow.cpp
  mainwindow.h
  nglsettings.cpp
  nglsettings.h
  sequences/abstractsequencewidget.cpp
  sequences/abstractsequencewidget.h
  sequences/tabsequencewidget.cpp
  sequences/tabsequencewidget.h
  sequences/listsequencewidget.cpp
  sequences/listsequencewidget.h
  samplemodel.cpp
  samplemodel.h
  sampleview.cpp
  sampleview.h
  subscriber.cpp
  subscriber.h
  telegrammodel.cpp
  telegrammodel.h
  telegramview.cpp
  telegramview.h
  topicselector.cpp
  topicselector.h
  topic_tree_model.cpp
  topic_tree_model.h
  typecodeselector.cpp
  typecodeselectordlg.cpp
  typecodeselectordlg.h
  typecodeselector.h
  xmlhelper.cpp
  xmlhelper.h
  zwmsui_version.cpp
  zwmsui_version.h
  rw/rwwidgets.cpp
  rw/rwwidgets.h
  coorddetaildlg.cpp
  coorddetaildlg.h
)

SET(ddsview_UICS
  ui/mainwindow.ui
  ui/zwmsui_versionview.ui
  ui/detailviewdlg.ui
  ui/typecodeselectordlg.ui
  ui/topicselector.ui
  ui/coorddetaildlg.ui
)

NGL_WRAP_UI(ddsview_SRCS ${ddsview_UICS})
NGL_ADD_TOOL_ICON(ddsview_SRCS "dds")

NGL_ADD_EXECUTABLE(ddsview TOOLSWS TOOLSSV NO_TRANSLATION WIN32 ${ddsview_SRCS} ${ddsview_UICS})
if(QT6_GUI_AVAILABLE)
  NGL_TARGET_LINK_LIBRARIES(ddsview
    $<IF:$<TARGET_EXISTS:ddsconnector>,ddsconnector,>
    LtsCommandLineParser
    LtsCoordTrans
    ltsCoordWidget
    LtsWidgets
    LtsPluginLoader
    nglapplication
    NGLLogger
    nglsettings
    nglwidgets
    Qt6::Core
    ${Qt6_Gui}
    Qt6::Xml
    RTI::nddsc
    RTI::nddscore
    topicdiscover
    topic_type_plugin
  )
endif()

NGL_INSTALL_TARGET(ddsview)
NGL_INSTALL(TOOLSWS TOOLSSV FILES log4cxx_ddsview.props DESTINATION "bin")
