# Lib / module for TMS-IF communication - has to be its own lib because of conflicting DDS implementations
#
# $Id$
# $HeadURL$
# $Author$
#

FIND_PACKAGE(TMSIF REQUIRED)

if(WIN32)
  message(FATAL_ERROR "This won't work on Windows !")
endif()


# plugin
set(src
  ../tms_if_adapter.h
  tms_if_adapter.cpp
  ../uav_commander.h
  uav_commander_impl.h
  uav_commander_impl.cpp
  abstract_dispatcher.h
  reader.h
  communication_master.h
  logger.h
  logger.cpp

  dispatchers/report_positions.h
  dispatchers/report_positions.cpp
  dispatchers/report_mission_status.h
  dispatchers/report_mission_status.cpp
  dispatchers/report_radio_link_connection_state.h
  dispatchers/report_radio_link_connection_state.cpp
  dispatchers/report_cbit_status.h
  dispatchers/report_cbit_status.cpp
  dispatchers/report_device_status.h
  dispatchers/report_device_status.cpp
  dispatchers/report_point.h
  dispatchers/report_point.cpp
)

NGL_ADD_LIBRARY2(SV TmsIfAdapter MODULE ${src})
NGL_TARGET_INCLUDE_DIRECTORIES(TmsIfAdapter
  PUBLIC
    ${CMAKE_CURRENT_SOURCE_DIR}/../../
)

NGL_TARGET_LINK_LIBRARIES(TmsIfAdapter
PRIVATE
  TMSIF::tmsif-cyclone
  TMSIF::ddscxx
  TMSIF::ddkit-cyclone

  LtsUtilsCoreHeaderOnly
  LtsCoordTrans
  NGLLogger

  Qt5::Core
  Qt5::Gui
  Qt5::Network
  Qt5::WebSockets
)

target_compile_definitions(TmsIfAdapter PUBLIC DDS_VENDOR_CYCLONE)

NGL_INSTALL_TARGET(TmsIfAdapter)
