# Make ${Qt6_Widgets} optional
if(QT6_GUI_AVAILABLE AND TARGET Qt6::Widgets)
  set(Qt6_Widgets ${Qt6_Widgets})
else()
  set(Qt6_Widgets "")
endif()


MACRO(_BUILD_TEST test_id)
  add_executable(TabUASTest${test_id} test${test_id}.cpp)
  FIND_PACKAGE(TMSIF REQUIRED)



  target_compile_definitions(TabUASTest${test_id} PUBLIC DDS_VENDOR_CYCLONE)


  target_link_libraries(TabUASTest${test_id} PRIVATE
      TMSIF::tmsif-cyclone
      TMSIF::ddscxx
      TMSIF::ddkit-cyclone
  )
ENDMACRO()


#_BUILD_TEST(1)
#_BUILD_TEST(2)
_BUILD_TEST(3)
add_test(NAME tab_uas_test3 COMMAND $<TARGET_FILE:TabUASTest3>)


# # test4
# add_executable(TabUASTest4 test4.cpp)
# target_link_libraries(TabUASTest4
# PRIVATE
#   TmsIfAdapter
#   tabPluginInterface
# )


# # test4.1
# add_executable(TabUASTest4_1 test4.cpp)
# target_link_libraries(TabUASTest4_1
# PRIVATE
#   TmsIfAdapter
#   # /opt/RTI/lib/x64Linux4gcc7.3.0/libnddsc.so
#   # /opt/RTI/lib/x64Linux4gcc7.3.0/libnddscore.so
#   # /opt/RTI/lib/x64Linux4gcc7.3.0/libnddscpp2.so
# )
# #target_include_directories(TabUASTest${test_id} PRIVATE
# #
# #)


# test4_2
add_executable(TabUASTest4_2 test4_2.cpp)
target_link_libraries(TabUASTest4_2
PRIVATE
  #TmsIfAdapter via dlopen !
  TmsIfAdapterInterface
  tabPluginInterface
)
add_test(NAME tab_uas_test4_2 COMMAND $<TARGET_FILE:TabUASTest4_2>)


# # test5
# add_executable(TabUASTest5 test5.cpp)
# target_link_libraries(TabUASTest5
# PRIVATE
#   tabPluginInterface
# )



# test6
add_executable(TabUASTest6 test6.cpp)
if(QT6_GUI_AVAILABLE)
  target_link_libraries(TabUASTest6
  PRIVATE
    Qt6::Core
    ${Qt6_Widgets}
  
    #TmsIfAdapter via dlopen !
    TmsIfAdapterInterface
  )
  add_test(NAME tab_uas_test6 COMMAND $<TARGET_FILE:TabUASTest6>)
endif()
