#
# Unit tests for the DDS QosProfile module.
# One test executable per module, each registered with ctest.
#
if (NOT BUILD_TESTING)
  return()
endif()

# --- DDS QosProfile: default QoS profile helpers
if (TARGET ddsQoS)
  ADD_EXECUTABLE(ddsqos_unit_test ddsqos_unit_test.cpp)
  # Path of the module's default_profile.xml fixture (see ddsqos_unit_test.cpp)
  TARGET_COMPILE_DEFINITIONS(ddsqos_unit_test PRIVATE
    DDSQOS_UNIT_TEST_PROFILE_XML="${CMAKE_CURRENT_SOURCE_DIR}/../default_profile.xml")
  TARGET_LINK_LIBRARIES(ddsqos_unit_test
    ddsQoS
    NGLLogger
    Qt6::Core
    Qt6::Test
  )
  # ddsQoS links the RTI DDS libraries PRIVATE - the test needs them itself
  # for the RTI policy inline functions used by the QoS helpers
  if (TARGET RTI::nddsc)
    TARGET_LINK_LIBRARIES(ddsqos_unit_test
      RTI::nddsc
      RTI::nddscpp2
    )
  endif()
  ADD_TEST(NAME ddsqos_unit_test COMMAND $<TARGET_FILE:ddsqos_unit_test>)
endif()
