# Render test for src/render/ (see tst_render.cpp). Runs without SteamVR or a # headset; skips itself without a GPU context. One CTest entry per graphics # API, because the API is process-wide. find_package(Qt6 REQUIRED COMPONENTS Test) qt_add_executable(tst_render tst_render.cpp ${CMAKE_SOURCE_DIR}/src/render/RenderBackend.cpp ${CMAKE_SOURCE_DIR}/src/render/OpenGLRenderBackend.cpp ) target_include_directories(tst_render PRIVATE ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/third-party/openvr/headers ) # Only openvr.h's types are used: nothing links against libopenvr_api. target_link_libraries(tst_render PRIVATE Qt::Gui Qt::Quick Qt::Qml Qt6::Test) if (QT_FEATURE_vulkan) target_sources(tst_render PRIVATE ${CMAKE_SOURCE_DIR}/src/render/VulkanRenderBackend.cpp ) target_compile_definitions(tst_render PRIVATE OVRAS_HAS_VULKAN=1) else () target_compile_definitions(tst_render PRIVATE OVRAS_HAS_VULKAN=0) endif () qt_add_qml_module(tst_render URI RenderTest VERSION 1.0 QML_FILES TwoTone.qml ) add_test(NAME render_opengl COMMAND tst_render) set_tests_properties(render_opengl PROPERTIES ENVIRONMENT "OVRAS_TEST_API=opengl") add_test(NAME render_vulkan COMMAND tst_render) set_tests_properties(render_vulkan PROPERTIES ENVIRONMENT "OVRAS_TEST_API=vulkan")