#
# @RDE_HEADER@
# $Id$
# $HeadURL$
# $Author$
# Created by Christian Fröbel, SLSE, 2017-06-19
#

SET(SRCS_static
  ava_test_server.h
  ava_test_server.cpp
)

#
# Static lib just to hold the AvaTestServer as it is needed for the
# stand-alone executable as well as for the unit tests.
#
NGL_ADD_LIBRARY(WS AAR SV avaTestServer_static STATIC ${SRCS_static})
NGL_TARGET_LINK_LIBRARIES(avaTestServer_static
  PUBLIC
    Qt5::Core
    Qt5::Network
)

SET(SRCS
  ava_test_server_main.cpp
)

NGL_ADD_EXECUTABLE(WS AAR SV NO_TRANSLATION avaTestServer ${SRCS})
NGL_TARGET_LINK_LIBRARIES(avaTestServer
  avaTestServer_static
  Qt5::Core
)

IF(BUILD_TESTING)
  SET(SRCS
    main.cpp
    ava_comm_double.h
    parse_line_test.h
    parse_line_test.cpp
    ava_comm_test.h
    ava_comm_test.cpp
    ava_control_test.h
    ava_control_test.cpp
    av_helper_test.h
    av_helper_test.cpp
    asset_assignment_manager_test.h
    asset_assignment_manager_test.cpp
    audio_video_handler_impl_test.h
    audio_video_handler_impl_test.cpp
    choose_stream_test.h
    choose_stream_test.cpp
    avs_command_queue_test.h
    avs_command_queue_test.cpp
    ava_timeline_test.h
    ava_timeline_test.cpp
    rt_state_test.h
    rt_state_test.cpp
    list_response_collector_test.h
    list_response_collector_test.cpp
  )
  
  IF(TARGET svcAvmCommon)
    ADD_EXECUTABLE(avmTests ${SRCS})
    TARGET_LINK_LIBRARIES(avmTests
      Qt5::Core
      Qt5::Network
      Qt5::Test
      svcAvmCommon
      svcIsmCommon
      avaTestServer_static
      nglcoreapplication
      NGLLogger
      Boost::boost
    )
    ADD_TEST(NAME avmTests COMMAND $<TARGET_FILE:avmTests>)
  ENDIF()
ENDIF()
