@@ -96,8 +96,9 @@ macro(add_qml_test SUBPATH COMPONENT_NAME)
9696 -o -,txt
9797 ${function_ARGS}
9898 )
99+ exec_program( gcc ARGS "-dumpmachine" OUTPUT_VARIABLE ARCH_TRIPLET )
99100 set(qmltest_xvfb_command
100− env ${qmltest_ENVIRONMENT} LD_PRELOAD=/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
101+ env ${qmltest_ENVIRONMENT} LD_PRELOAD=/usr/lib/${ARCH_TRIPLET}/mesa/libGL.so.1
101102 xvfb-run --server-args "-screen 0 1024x768x24" --auto-servernum
102103 ${qmltestrunner_exe} -input ${CMAKE_CURRENT_SOURCE_DIR}/${qmltest_FILE}.qml
103104 ${qmltestrunner_imports}
@@ -111,6 +112,31 @@ macro(add_qml_test SUBPATH COMPONENT_NAME)
111112 add_manual_qml_test(${SUBPATH} ${COMPONENT_NAME} ${ARGN})
112113endmacro(add_qml_test)
113114
115+macro(add_binary_qml_test CLASS_NAME LD_PATH DEPS)
116+ set(testCommand
117+ LD_LIBRARY_PATH=${LD_PATH}
118+ ${CMAKE_CURRENT_BINARY_DIR}/${CLASS_NAME}TestExec
119+ -o ${CMAKE_BINARY_DIR}/${CLASSNAME}Test.xml,xunitxml
120+ -o -,txt)
121+
122+ add_custom_target(test${CLASS_NAME} ${testCommand})
123+ add_dependencies(test${CLASS_NAME} ${CLASS_NAME}TestExec ${DEPS})
124+
125+ set(xvfbtestCommand
126+ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
127+ LD_LIBRARY_PATH=${LD_PATH}
128+ xvfb-run --server-args "-screen 0 1024x768x24" --auto-servernum
129+ ${CMAKE_CURRENT_BINARY_DIR}/${CLASS_NAME}TestExec
130+ -o ${CMAKE_BINARY_DIR}/${CLASS_NAME}Test.xml,xunitxml
131+ -o -,txt)
132+
133+ add_custom_target(xvfbtest${CLASS_NAME} ${xvfbtestCommand})
134+ add_dependencies(test${CLASS_NAME} ${CLASS_NAME}TestExec ${DEPS})
135+
136+ add_dependencies(qmluitests xvfbtest${CLASS_NAME})
137+ add_manual_qml_test(. ${CLASS_NAME} IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins)
138+endmacro(add_binary_qml_test)
139+
114140macro(add_qmltest_target qmltest_TARGET qmltest_command qmltest_NO_TARGETS qmltest_NO_ADD_TEST)
115141 add_custom_target(${qmltest_TARGET} ${qmltest_command})
116142