- build_scripts/steamframe/: Debian trixie (Qt 6.8) containers for the aarch64 cross build, native build and tests; toolchain; scripts to build, test (Vulkan validation layers), package (system Qt, ~3 MB) and deploy over SSH. Adapted from the vrdashboard template. - test/render/: render test for the OpenGL and Vulkan backends, driven like OverlayController (option OVRAS_BUILD_TESTS). - RPATH only $ORIGIN, without the build machine's link directories. - Ignore dist/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
36 lines
1.3 KiB
CMake
36 lines
1.3 KiB
CMake
# 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")
|