1#GL CTS Makefile
2
3set(KC_CTS_HOME  "${PROJECT_SOURCE_DIR}/external/kc-cts"        CACHE STRING "Home directory of Khronos Confidential CTS")
4set(GTF_HOME     "${KC_CTS_HOME}/src/GTF_ES"            CACHE STRING "Home directory of GTF test framework")
5
6if (DE_COMPILER_IS_GCC OR DE_COMPILER_IS_CLANG)
7	# -Wconversion generates a LOT of warnings in this code base
8	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-conversion")
9
10	# Same for -Wunused-function
11	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-function")
12endif ()
13
14if (EXISTS "${GTF_HOME}/CMakeLists.txt")
15        set(DEQP_GTF_AVAILABLE  ON)                             # Is GTF test framework available
16else ()
17        set(DEQP_GTF_AVAILABLE  OFF)
18endif ()
19
20message(STATUS "DEQP_GTF_AVAILABLE      = ${DEQP_GTF_AVAILABLE}")
21
22if (DEQP_GTF_AVAILABLE)
23	set(GLCTS_GTF_SUPPORT_GLES32 OFF)
24	set(GLCTS_GTF_SUPPORT_GLES31 OFF)
25	set(GLCTS_GTF_SUPPORT_GLES3  OFF)
26	set(GLCTS_GTF_SUPPORT_GLES2  OFF)
27	set(GLCTS_GTF_SUPPORT_OPENGL OFF)
28
29	add_definitions(-DDEQP_GTF_AVAILABLE=1)
30
31	if (GLCTS_GTF_TARGET STREQUAL "gl")
32		set(GLCTS_GTF_SUPPORT_OPENGL ON)
33	elseif (GLCTS_GTF_TARGET STREQUAL "gles32")
34		set(GLCTS_GTF_SUPPORT_GLES32 ON)
35	elseif (GLCTS_GTF_TARGET STREQUAL "gles31")
36		set(GLCTS_GTF_SUPPORT_GLES31 ON)
37	elseif (GLCTS_GTF_TARGET STREQUAL "gles3")
38		set(GLCTS_GTF_SUPPORT_GLES3 ON)
39	elseif (GLCTS_GTF_TARGET STREQUAL "gles2")
40		set(GLCTS_GTF_SUPPORT_GLES2 ON)
41	else ()
42		set(GLCTS_GTF_SUPPORT_GLES32 ON)
43		message(WARNING "GLCTS_GTF_TARGET invalid or not defined, allowed options are [gl, gles32, gles31, gles3, gles2]")
44		message(WARNING "GLCTS_GTF_TARGET is set to gles32")
45	endif ()
46endif()
47
48message(STATUS "GLCTS_GTF_SUPPORT_OPENGL = ${GLCTS_GTF_SUPPORT_OPENGL}")
49message(STATUS "GLCTS_GTF_SUPPORT_GLES32 = ${GLCTS_GTF_SUPPORT_GLES32}")
50message(STATUS "GLCTS_GTF_SUPPORT_GLES31 = ${GLCTS_GTF_SUPPORT_GLES31}")
51message(STATUS "GLCTS_GTF_SUPPORT_GLES3  = ${GLCTS_GTF_SUPPORT_GLES3}")
52message(STATUS "GLCTS_GTF_SUPPORT_GLES2  = ${GLCTS_GTF_SUPPORT_GLES2}")
53
54set(GLCTS_GTF_SUPPORT_EGL ON)
55
56include_directories(
57	include
58	framework/egl/wrapper
59	)
60
61add_subdirectory(modules)
62
63if (DEQP_GTF_AVAILABLE)
64	add_subdirectory(${GTF_HOME} GTF)
65endif ()
66
67# Pass DEQP_MODULE_LIBRARIES and DEQP_MODULE_ENTRY_POINTS
68set(DEQP_MODULE_LIBRARIES ${DEQP_MODULE_LIBRARIES} PARENT_SCOPE)
69set(DEQP_MODULE_ENTRY_POINTS ${DEQP_MODULE_ENTRY_POINTS} PARENT_SCOPE)
70