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

set(CMAKE_AUTOMOC ON)

# DataPluginInterface
ADD_LIBRARY(DataPluginInterface SHARED
  ${CMAKE_CURRENT_SOURCE_DIR}/data_plugin_interface.h
  ${CMAKE_CURRENT_SOURCE_DIR}/data_plugin_interface.cpp
)
TARGET_INCLUDE_DIRECTORIES(DataPluginInterface PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..)
TARGET_LINK_LIBRARIES(DataPluginInterface PUBLIC Qt6::Core)

# GuiPluginInterface
IF(NOT RELEASE_BUILD)
ADD_LIBRARY(GuiPluginInterface SHARED
  ${CMAKE_CURRENT_SOURCE_DIR}/gui_plugin_interface.h
  ${CMAKE_CURRENT_SOURCE_DIR}/gui_plugin_interface.cpp
)
TARGET_INCLUDE_DIRECTORIES(GuiPluginInterface PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..)
TARGET_LINK_LIBRARIES(GuiPluginInterface PUBLIC Qt6::Core LtsWidgets ProjectConfig LtsAppDescriptor LtsUtilsCore)
ENDIF()

# projectPluginInterface
ADD_LIBRARY(ProjectPluginInterface SHARED
  ${CMAKE_CURRENT_SOURCE_DIR}/project_plugin_interface.h
  ${CMAKE_CURRENT_SOURCE_DIR}/project_plugin_interface.cpp
)
TARGET_INCLUDE_DIRECTORIES(ProjectPluginInterface PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..)
TARGET_LINK_LIBRARIES(ProjectPluginInterface PUBLIC Qt6::Core)

# stylePluginInterface
ADD_LIBRARY(StylePluginInterface SHARED
  ${CMAKE_CURRENT_SOURCE_DIR}/style_plugin_interface.h
  ${CMAKE_CURRENT_SOURCE_DIR}/style_plugin_interface.cpp
)
TARGET_INCLUDE_DIRECTORIES(StylePluginInterface PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..)
TARGET_LINK_LIBRARIES(StylePluginInterface PUBLIC Qt6::Core)

# record_replay_plugin (requires RTI DDS)
if(BUILD_RTI)
  ADD_LIBRARY(RecordReplayPlugin SHARED
    ${CMAKE_CURRENT_SOURCE_DIR}/record_replay_plugin.h
    ${CMAKE_CURRENT_SOURCE_DIR}/record_replay_plugin.cpp
  )
  TARGET_INCLUDE_DIRECTORIES(RecordReplayPlugin PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..)
  TARGET_LINK_LIBRARIES(RecordReplayPlugin PUBLIC Qt6::Core)

  # Topic Replay Interface (requires RTI DDS and TopicEditorBase)
  ADD_LIBRARY(TopicReplayInterface SHARED
    ${CMAKE_CURRENT_SOURCE_DIR}/topic_replay_interface.h
    ${CMAKE_CURRENT_SOURCE_DIR}/topic_replay_interface.cpp
  )
  TARGET_INCLUDE_DIRECTORIES(TopicReplayInterface PUBLIC 
    ${CMAKE_CURRENT_SOURCE_DIR}/..
    ${CMAKE_BINARY_DIR}/Lts/Common/TopicEditorBase # topiceditorbase_export.h
  )
  TARGET_LINK_LIBRARIES(TopicReplayInterface PUBLIC Qt6::Core TopicEditorBase)
endif()
