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

IF(BUILD_RTI)

ADD_LIBRARY(ddsfts_connext INTERFACE)
TARGET_INCLUDE_DIRECTORIES(ddsfts_connext
  INTERFACE
  ${CMAKE_CURRENT_SOURCE_DIR}/../../
)
TARGET_LINK_LIBRARIES(ddsfts_connext
  INTERFACE
    RTI::nddscpp2
)
SET(SRCS
  ${CMAKE_CURRENT_SOURCE_DIR}/connext.h
)
TARGET_SOURCES(ddsfts_connext INTERFACE ${SRCS})

SET(SRCS
  generic_fts.h                  ;# Interface
  generic_fts_impl.h             ;# Implementation, using internal class GenericFTCInternal
  generic_fts_internal.h
  generic_fts_internal.cpp
)

NGL_ADD_LIBRARY2(WS AAR SV HLA ddsfts SHARED ${SRCS})
NGL_TARGET_INCLUDE_DIRECTORIES(ddsfts
  PUBLIC
    ${CMAKE_CURRENT_SOURCE_DIR}/../../
    # generic_fts_internal.h includes the generated ddsfts_export.h with a
    # quoted include; consumers (the generated *_topic_type_plugin.cpp)
    # resolve it only if the binary dir with the export header is exported.
    ${CMAKE_CURRENT_BINARY_DIR}
    ${CMAKE_CURRENT_BINARY_DIR}/../../Proxies/TrainingAreaBase
)
NGL_TARGET_LINK_LIBRARIES(ddsfts
  PRIVATE
    RTI::nddscore
    ProjectConfig
    ddsQoS
    svcTabCommon
  PUBLIC
    Qt6::Core
    RTI::nddsc
    RTI::nddscpp2
    ddsgen
    ddsfts_connext
)

ENDIF(BUILD_RTI)
