1e5c31af7Sopenharmony_ci# GL-CTS
2e5c31af7Sopenharmony_ci
3e5c31af7Sopenharmony_ciinclude_directories(
4e5c31af7Sopenharmony_ci	common
5e5c31af7Sopenharmony_ci	gl
6e5c31af7Sopenharmony_ci	gles2
7e5c31af7Sopenharmony_ci	gles3
8e5c31af7Sopenharmony_ci	gles31
9e5c31af7Sopenharmony_ci	gles32
10e5c31af7Sopenharmony_ci	glesext
11e5c31af7Sopenharmony_ci	.
12e5c31af7Sopenharmony_ci	${PROJECT_SOURCE_DIR}/modules/glshared
13e5c31af7Sopenharmony_ci	)
14e5c31af7Sopenharmony_ci
15e5c31af7Sopenharmony_ciif (DEQP_GTF_AVAILABLE)
16e5c31af7Sopenharmony_ci	include_directories(${GTF_HOME}/glcts-gtf)
17e5c31af7Sopenharmony_ciendif ()
18e5c31af7Sopenharmony_ci
19e5c31af7Sopenharmony_ciadd_subdirectory(common)
20e5c31af7Sopenharmony_ciadd_subdirectory(gl)
21e5c31af7Sopenharmony_ciadd_subdirectory(gles2)
22e5c31af7Sopenharmony_ciadd_subdirectory(gles3)
23e5c31af7Sopenharmony_ciadd_subdirectory(gles31)
24e5c31af7Sopenharmony_ciadd_subdirectory(gles32)
25e5c31af7Sopenharmony_ciadd_subdirectory(glesext)
26e5c31af7Sopenharmony_ci
27e5c31af7Sopenharmony_ciif (DEQP_GTF_AVAILABLE)
28e5c31af7Sopenharmony_ci	set(GTF_DIR ${GTF_HOME})
29e5c31af7Sopenharmony_ci	add_subdirectory(${GTF_HOME}/glcts-gtf gtf)
30e5c31af7Sopenharmony_ciendif ()
31e5c31af7Sopenharmony_ci
32e5c31af7Sopenharmony_ci# glcTestPackageRegistry.cpp includes dEQP modules directly
33e5c31af7Sopenharmony_ciinclude_directories(
34e5c31af7Sopenharmony_ci	${PROJECT_SOURCE_DIR}/modules/egl
35e5c31af7Sopenharmony_ci	${PROJECT_SOURCE_DIR}/modules/gles2
36e5c31af7Sopenharmony_ci	${PROJECT_SOURCE_DIR}/modules/gles3
37e5c31af7Sopenharmony_ci	${PROJECT_SOURCE_DIR}/modules/gles31
38e5c31af7Sopenharmony_ci	)
39e5c31af7Sopenharmony_ci
40e5c31af7Sopenharmony_ciset(GLCTS_SRCS
41e5c31af7Sopenharmony_ci	glcTestPackageRegistry.cpp
42e5c31af7Sopenharmony_ci	)
43e5c31af7Sopenharmony_ci
44e5c31af7Sopenharmony_ciset(GLCTS_LIBS
45e5c31af7Sopenharmony_ci	glcts-common-nocontext-package
46e5c31af7Sopenharmony_ci	glcts-gl
47e5c31af7Sopenharmony_ci	glcts-es2
48e5c31af7Sopenharmony_ci	glcts-es3
49e5c31af7Sopenharmony_ci	glcts-es31
50e5c31af7Sopenharmony_ci	glcts-es32
51e5c31af7Sopenharmony_ci	glcts-esext
52e5c31af7Sopenharmony_ci	deqp-egl${MODULE_LIB_TARGET_POSTFIX}
53e5c31af7Sopenharmony_ci	deqp-gles2${MODULE_LIB_TARGET_POSTFIX}
54e5c31af7Sopenharmony_ci	deqp-gles3${MODULE_LIB_TARGET_POSTFIX}
55e5c31af7Sopenharmony_ci	deqp-gles31${MODULE_LIB_TARGET_POSTFIX}
56e5c31af7Sopenharmony_ci	)
57e5c31af7Sopenharmony_ci
58e5c31af7Sopenharmony_ci# \note This module contains multiple packages (ES2-CTS, ES3-CTS, ..)
59e5c31af7Sopenharmony_ciadd_deqp_module(glcts "${GLCTS_SRCS}" "${GLCTS_LIBS}" "tcutil-platform" glcTestPackageEntry.cpp)
60e5c31af7Sopenharmony_ci
61e5c31af7Sopenharmony_ci# Data directories
62e5c31af7Sopenharmony_ciadd_data_dir(glcts ../data gl_cts/data)
63e5c31af7Sopenharmony_ciadd_data_dir(glcts ../../../data/gles2 gles2)
64e5c31af7Sopenharmony_ciadd_data_dir(glcts ../../../data/gles3 gles3)
65e5c31af7Sopenharmony_ciadd_data_dir(glcts ../../../external/graphicsfuzz/data/gles3 gles3)
66e5c31af7Sopenharmony_ciadd_data_dir(glcts ../../../data/gles31 gles31)
67e5c31af7Sopenharmony_ci
68e5c31af7Sopenharmony_ci# CTS Test Runner
69e5c31af7Sopenharmony_ciadd_subdirectory(runner)
70e5c31af7Sopenharmony_ciinclude_directories(runner)
71e5c31af7Sopenharmony_ci
72e5c31af7Sopenharmony_ciif (DE_OS_IS_WIN32 OR DE_OS_IS_OSX OR DE_OS_IS_UNIX OR DE_OS_IS_IOS OR DE_OS_IS_QNX)
73e5c31af7Sopenharmony_ci	# Stand-alone cts-runner executable
74e5c31af7Sopenharmony_ci	add_executable(cts-runner runner/glcTestRunnerMain.cpp glcTestPackageEntry.cpp)
75e5c31af7Sopenharmony_ci	target_link_libraries(cts-runner tcutil-platform glcts-runner glcts${MODULE_LIB_TARGET_POSTFIX})
76e5c31af7Sopenharmony_ci
77e5c31af7Sopenharmony_cielseif (DE_OS_IS_ANDROID)
78e5c31af7Sopenharmony_ci
79e5c31af7Sopenharmony_ci	# glcAndroidMain.cpp contains additional entry points for
80e5c31af7Sopenharmony_ci	# different CTS versions. We need to add it to DEQP_MODULE_ENTRY_POINTS
81e5c31af7Sopenharmony_ci	# in order to include them in final libdeqp.so.
82e5c31af7Sopenharmony_ci	set(DEQP_MODULE_ENTRY_POINTS	${DEQP_MODULE_ENTRY_POINTS} ${CMAKE_CURRENT_SOURCE_DIR}/runner/glcAndroidMain.cpp PARENT_SCOPE)
83e5c31af7Sopenharmony_ci	set(DEQP_MODULE_LIBRARIES		${DEQP_MODULE_LIBRARIES} glcts-runner PARENT_SCOPE)
84e5c31af7Sopenharmony_ciendif ()
85