#
# $Id$
# $HeadURL$
# $Author$
#
# Created by Mike Wille, SLSE, 2017-05-15
#

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


SET(SRCS
  BuildingEdit/bdv_building_edit.cpp
  BuildingEdit/bdv_building_edit.h
  BuildingEdit/bdv_edit_item.cpp
  BuildingEdit/bdv_edit_item.h
  BuildingEdit/bdv_edit_model.cpp
  BuildingEdit/bdv_edit_model.h
  BuildingEdit/bdv_treemodel_item.h
  bdv_viewer_gui_plugin.h
  bdv_viewer_gui_plugin.cpp
  bdv_viewer_gui_plugin_provider.h
  bdv_viewer_gui_plugin_provider.cpp
  bdv_viewer_data_dialog.cpp
  bdv_viewer_data_dialog.h
  bdv_viewer_data_model.cpp
  bdv_viewer_data_model.h
  bdv_viewer_data_view.cpp
  bdv_viewer_data_view.h
  bdv_replay_handler.cpp
  bdv_replay_handler.h
  bdv_thread_video_exporter.cpp
  bdv_thread_video_exporter.h
  bdv_topic_replay_interface.cpp
  bdv_topic_replay_interface.h
  bdv_viewer_settings.cpp
  bdv_viewer_settings.h
  bdv_viewer_state_model.cpp
  bdv_viewer_state_model.h
  bdv_viewer_state.cpp
  bdv_viewer_state.h
  TopicEditor/topic_editor.cpp
  TopicEditor/topic_editor.h
  )

NGL_WRAP_UI(SRCS
  BuildingEdit/bdv_building_edit.ui
  BuildingEdit/bdv_edit_item.ui
  bdv_viewer_data_dialog.ui
  bdv_viewer_data_view.ui
  bdv_viewer_settings.ui
  bdv_viewer_state.ui
  TopicEditor/topic_editor.ui
)

NGL_ADD_LIBRARY(WS BdvViewerGuiPlugin MODULE ${SRCS})

if(QT6_GUI_AVAILABLE)
  NGL_TARGET_LINK_LIBRARIES(BdvViewerGuiPlugin
    BdvViewerGuiPluginInterface
    BldDataPluginInterface
    BuildingViewerCommon
    PreScriptTimelineGuiPluginInterface # Export
    svcBldCommon
    svcBldClient
    svcAesClient
    svcSrpClient
    LtsDataView
    LtsPluginManager
    LtsScriptTimeline # TopicEditor
    LtsSession
    LtsWidgets
    NGLLogger
    nglwidgets
    Qt6::Core
    ${Qt6_Widgets}
    Qt6::Xml
    TopicEditorBase
    LtsUtilsGuiDds
    LtsUtilsSettings
    ngltools
    ExportBdvTopicSetting
  )
endif()
NGL_INSTALL_TARGET(BdvViewerGuiPlugin)
