]> git.cworth.org Git - apitrace-tests/blobdiff - apps/gl/CMakeLists.txt
Test varray variants.
[apitrace-tests] / apps / gl / CMakeLists.txt
index a6be3d035b83c834a65201f22e347fbf3408a50b..42688190138f936d2233ae46c4651021656f4cce 100644 (file)
@@ -1,24 +1,79 @@
 include_directories (
-       ${OPENGL_INCLUDE_PATH}
-       ${GLUT_INCLUDE_DIR}
-       ${GLEW_INCLUDE_DIR}
+    ${OPENGL_INCLUDE_PATH}
+    ${GLUT_INCLUDE_DIR}
+    ${GLEW_INCLUDE_DIR}
 )
 
 link_libraries (
-       ${GLUT_glut_LIBRARY}
-       ${GLEW_glew_LIBRARY}
-       ${OPENGL_glu_LIBRARY}
-       ${OPENGL_gl_LIBRARY}
+    ${GLUT_glut_LIBRARY}
+    ${GLEW_glew_LIBRARY}
+    ${OPENGL_glu_LIBRARY}
+    ${OPENGL_gl_LIBRARY}
 )
 
 set (subdir gl)
 
 set (targets
-       tri
+    tri
+    gremedy
+    varray
 )
 
+function (ADD_APP_TEST)
+    cmake_parse_arguments(
+        TEST
+        # Options
+        ""
+        # One value args
+        "NAME;TARGET;REF"
+        # Multi value args
+        "ARGS"
+        ${ARGN}
+    )
+
+    add_test(
+        NAME ${TEST_NAME}
+        COMMAND
+        python ${CMAKE_SOURCE_DIR}/driver.py
+            --build ${APITRACE_BINARY_DIR}
+            --ref-dump ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_REF}
+            "$<TARGET_FILE:${TEST_TARGET}>"
+            ${TEST_ARGS}
+    )
+endfunction ()
+
 foreach (target ${targets})
-       add_executable (${subdir}_${target} ${target}.c)
-       set_target_properties (${subdir}_${target} PROPERTIES OUTPUT_NAME ${target})
-       install (TARGETS ${subdir}_${target} DESTINATION ${subdir})
+    add_executable (${subdir}_${target} ${target}.c)
+    set_target_properties (${subdir}_${target} PROPERTIES OUTPUT_NAME ${target})
+
+    if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${target}.ref.txt)
+        add_test(
+            NAME ${subdir}_${target}
+            COMMAND python ${CMAKE_SOURCE_DIR}/driver.py
+                --build ${APITRACE_BINARY_DIR}
+                --ref-dump ${CMAKE_CURRENT_SOURCE_DIR}/${target}.ref.txt
+                "$<TARGET_FILE:${subdir}_${target}>"
+        )
+    endif ()
 endforeach (target)
+
+add_app_test (
+    NAME "gl_varray_drawarrays"
+    TARGET ${subdir}_varray
+    REF varray_drawarrays.ref.txt
+    ARGS pointer drawarrays
+)
+
+add_app_test (
+    NAME "gl_varray_elements"
+    TARGET ${subdir}_varray
+    REF varray_drawelements.ref.txt
+    ARGS pointer drawelements
+)
+
+add_app_test (
+    NAME "gl_varray_interleaved"
+    TARGET ${subdir}_varray
+    REF varray_interleaved.ref.txt
+    ARGS interleaved drawarrays
+)