Add Vulkan DrawContext utility class
[platform/upstream/VK-GL-CTS.git] / external / vulkancts / modules / vulkan / CMakeLists.txt
1 # dEQP-VK
2
3 add_subdirectory(api)
4 add_subdirectory(pipeline)
5 add_subdirectory(binding_model)
6 add_subdirectory(spirv_assembly)
7 add_subdirectory(shaderrender)
8 add_subdirectory(shaderexecutor)
9 add_subdirectory(memory)
10 add_subdirectory(ubo)
11 add_subdirectory(dynamic_state)
12 add_subdirectory(ssbo)
13 add_subdirectory(query_pool)
14 add_subdirectory(draw)
15 add_subdirectory(compute)
16 add_subdirectory(image)
17 add_subdirectory(wsi)
18 add_subdirectory(sparse_resources)
19 add_subdirectory(tessellation)
20 add_subdirectory(rasterization)
21 add_subdirectory(synchronization)
22 add_subdirectory(clipping)
23 add_subdirectory(fragment_ops)
24 add_subdirectory(geometry)
25 add_subdirectory(texture)
26 add_subdirectory(renderpass)
27
28 include_directories(
29         api
30         pipeline
31         binding_model
32         spirv_assembly
33         shaderrender
34         shaderexecutor
35         memory
36         ubo
37         dynamic_state
38         ssbo
39         query_pool
40         draw
41         compute
42         image
43         wsi
44         sparse_resources
45         tessellation
46         rasterization
47         synchronization
48         clipping
49         fragment_ops
50         texture
51         geometry
52         renderpass
53         )
54
55 set(DEQP_VK_COMMON_SRCS
56         vktTestCase.cpp
57         vktTestCase.hpp
58         vktTestCaseUtil.cpp
59         vktTestCaseUtil.hpp
60         vktTestPackage.cpp
61         vktTestPackage.hpp
62         vktShaderLibrary.cpp
63         vktShaderLibrary.hpp
64         vktTestGroupUtil.cpp
65         vktTestGroupUtil.hpp
66         vktInfoTests.cpp
67         vktInfoTests.hpp
68         vktExternalMemoryUtil.cpp
69         vktExternalMemoryUtil.hpp
70         vktDrawUtil.cpp
71         vktDrawUtil.hpp
72         )
73
74 set(DEQP_VK_COMMON_LIBS
75         tcutil
76         vkutil
77         glutil
78         deqp-vk-api
79         deqp-vk-pipeline
80         deqp-vk-binding-model
81         deqp-vk-spirv-assembly
82         deqp-vk-shaderrender
83         deqp-vk-shaderexecutor
84         deqp-vk-memory
85         deqp-vk-ubo
86         deqp-vk-dynamic-state
87         deqp-vk-ssbo
88         deqp-vk-query-pool
89         deqp-vk-draw
90         deqp-vk-compute
91         deqp-vk-image
92         deqp-vk-wsi
93         deqp-vk-sparse-resources
94         deqp-vk-tessellation
95         deqp-vk-rasterization
96         deqp-vk-synchronization
97         deqp-vk-clipping
98         deqp-vk-fragment-ops
99         deqp-vk-texture
100         deqp-vk-geometry
101         deqp-vk-render-pass
102         )
103
104 add_library(deqp-vk-common STATIC ${DEQP_VK_COMMON_SRCS})
105 target_link_libraries(deqp-vk-common ${DEQP_VK_COMMON_LIBS})
106 add_dependencies(deqp-vk-common deqp-vk-data)
107
108 set(DEQP_VK_SRCS        )
109 set(DEQP_VK_LIBS        deqp-vk-common)
110
111 if (DE_OS_IS_WIN32 OR DE_OS_IS_UNIX OR DE_OS_IS_OSX)
112         add_executable(vk-build-programs vktBuildPrograms.cpp)
113         target_link_libraries(vk-build-programs deqp-vk-common)
114 endif ()
115
116 if (DE_COMPILER_IS_MSC AND (DE_PTR_SIZE EQUAL 4))
117     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE")
118 endif ()
119
120 add_deqp_module(deqp-vk "${DEQP_VK_SRCS}" "${DEQP_VK_LIBS}" vktTestPackageEntry.cpp)
121
122 add_data_dir(deqp-vk ../../data/vulkan  vulkan)