if(CMAKE_VERSION VERSION_LESS 3.12)
  find_package(PythonInterp 3.11 REQUIRED)
  set(Python3_EXECUTABLE "${PYTHON_EXECUTABLE}")
else()
  find_package(Python3 3.11 REQUIRED COMPONENTS Interpreter)
endif()

add_test(
  NAME robot_msg.check_generated
  COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/../tools/check-generated"
)

add_test(
  NAME robot_msg.python_empty_registry
  COMMAND "${Python3_EXECUTABLE}" -m unittest discover -s "${CMAKE_CURRENT_SOURCE_DIR}/python" -v
)
add_executable(robot_msg_viewer_codec_driver cpp/viewer_codec_driver.cpp)
target_link_libraries(robot_msg_viewer_codec_driver PRIVATE robot_msg::robot_msg)
set_tests_properties(robot_msg.python_empty_registry PROPERTIES
  ENVIRONMENT "PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/../python/src;ROBOT_MSG_VIEWER_DRIVER=$<TARGET_FILE:robot_msg_viewer_codec_driver>"
)

add_test(
  NAME robot_msg.cross_language
  COMMAND "${Python3_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/compatibility/test_compatibility.py"
)

add_test(
  NAME robot_msg.cmake_consumers
  COMMAND "${Python3_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/compatibility/test_consumers.py"
)

add_test(
  NAME robot_msg.distribution
  COMMAND "${Python3_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/compatibility/test_distribution.py"
)

add_test(
  NAME robot_msg.python_editable_install
  COMMAND "${Python3_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/python/test_editable_install.py"
)
