Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
[platform/upstream/VK-GL-CTS.git] / framework / platform / CMakeLists.txt
1 # Platform port library
2
3 # Target file may define TCUTIL_PLATFORM_SRCS
4 if (NOT DEFINED TCUTIL_PLATFORM_SRCS)
5         if (DE_OS_IS_WIN32)
6                 set(TCUTIL_PLATFORM_SRCS
7                         win32/tcuWin32Platform.hpp
8                         win32/tcuWin32Platform.cpp
9                         win32/tcuWGLContextFactory.hpp
10                         win32/tcuWGLContextFactory.cpp
11                         win32/tcuWGL.hpp
12                         win32/tcuWGL.cpp
13                         win32/tcuWin32API.h
14                         win32/tcuWin32Window.cpp
15                         win32/tcuWin32Window.hpp
16                         win32/tcuWin32EGLNativeDisplayFactory.hpp
17                         win32/tcuWin32EGLNativeDisplayFactory.cpp
18                         win32/tcuWin32VulkanPlatform.hpp
19                         win32/tcuWin32VulkanPlatform.cpp
20                         )
21
22         elseif ((DE_OS_IS_UNIX OR DE_OS_IS_OSX) AND (DEQP_USE_X11 OR DEQP_USE_WAYLAND))
23
24                 set(TCUTIL_PLATFORM_SRCS
25                         lnx/tcuLnx.cpp
26                         lnx/tcuLnx.cpp
27                         lnx/tcuLnxPlatform.cpp
28                         lnx/tcuLnxPlatform.hpp
29                         lnx/tcuLnxEglPlatform.hpp
30                         lnx/tcuLnxEglPlatform.cpp
31                         lnx/tcuLnxVulkanPlatform.hpp
32                         lnx/tcuLnxVulkanPlatform.cpp
33                 )
34
35                 include_directories(lnx)
36
37                 if (DEQP_USE_X11)
38                         add_definitions(-DDEQP_SUPPORT_X11=1)
39                         include_directories(lnx/X11)
40
41                         message(STATUS "DEQP_SUPPORT_GLX        = ${DEQP_SUPPORT_GLX}")
42
43                         if (DEQP_SUPPORT_GLX)
44                                 add_definitions(-DDEQP_SUPPORT_GLX=1)
45                         endif ()
46
47                         set(TCUTIL_PLATFORM_SRCS
48                                 ${TCUTIL_PLATFORM_SRCS}
49                                 lnx/X11/tcuLnxX11.cpp
50                                 lnx/X11/tcuLnxX11.hpp
51                                 lnx/X11/tcuLnxX11EglDisplayFactory.hpp
52                                 lnx/X11/tcuLnxX11EglDisplayFactory.cpp
53                                 )
54
55                         if (DEQP_USE_XCB)
56                                 set(TCUTIL_PLATFORM_SRCS
57                                         ${TCUTIL_PLATFORM_SRCS}
58                                         lnx/X11/tcuLnxX11Xcb.hpp
59                                         lnx/X11/tcuLnxX11Xcb.cpp
60                                         )
61                         endif()
62
63                         if (DEQP_SUPPORT_GLX)
64                                 set(TCUTIL_PLATFORM_SRCS
65                                         ${TCUTIL_PLATFORM_SRCS}
66                                         lnx/X11/tcuLnxX11GlxPlatform.hpp
67                                         lnx/X11/tcuLnxX11GlxPlatform.cpp
68                                 )
69                         endif()
70                 endif()
71
72                 if (DEQP_USE_WAYLAND)
73                         add_definitions(-DDEQP_SUPPORT_WAYLAND=1)
74                         include_directories(lnx/wayland)
75
76                         set(TCUTIL_PLATFORM_SRCS
77                                 ${TCUTIL_PLATFORM_SRCS}
78                                 lnx/wayland/tcuLnxWayland.hpp
79                                 lnx/wayland/tcuLnxWayland.cpp
80                                 lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp
81                                 lnx/wayland/tcuLnxWaylandEglDisplayFactory.hpp
82                                 )
83                         include_directories(wayland)
84                 endif()
85
86         elseif (DE_OS_IS_ANDROID)
87                 set(TCUTIL_PLATFORM_SRCS
88                         android/tcuAndroidExecService.cpp
89                         android/tcuAndroidExecService.hpp
90                         )
91
92                 if (DE_ANDROID_API GREATER 8)
93                         # Add NativeActivity code
94                         set(TCUTIL_PLATFORM_SRCS
95                                 ${TCUTIL_PLATFORM_SRCS}
96                                 android/tcuAndroidAssets.cpp
97                                 android/tcuAndroidAssets.hpp
98                                 android/tcuAndroidInternals.cpp
99                                 android/tcuAndroidInternals.hpp
100                                 android/tcuAndroidNativeActivity.cpp
101                                 android/tcuAndroidNativeActivity.hpp
102                                 android/tcuAndroidPlatform.cpp
103                                 android/tcuAndroidPlatform.hpp
104                                 android/tcuAndroidRenderActivity.cpp
105                                 android/tcuAndroidRenderActivity.hpp
106                                 android/tcuAndroidTestActivity.cpp
107                                 android/tcuAndroidTestActivity.hpp
108                                 android/tcuAndroidUtil.cpp
109                                 android/tcuAndroidUtil.hpp
110                                 android/tcuAndroidWindow.cpp
111                                 android/tcuAndroidWindow.hpp
112                                 )
113                 endif ()
114
115         elseif (DE_OS_IS_IOS)
116                 set(TCUTIL_PLATFORM_SRCS
117                         ios/tcuIOSApp.mm
118                         ios/tcuIOSApp.h
119                         ios/tcuIOSPlatform.mm
120                         ios/tcuIOSPlatform.hh
121                         )
122
123         elseif (DE_OS_IS_OSX)
124                 set(TCUTIL_PLATFORM_SRCS
125                         osx/tcuOSXPlatform.cpp
126                         osx/tcuOSXPlatform.hpp
127                         )
128
129         else ()
130                 set(TCUTIL_PLATFORM_SRCS
131                         vanilla/tcuVanillaPlatform.cpp
132                         )
133
134         endif ()
135 endif ()
136
137 add_library(tcutil-platform STATIC ${TCUTIL_PLATFORM_SRCS})
138
139 # Add vkutil to the deps before tcutil so that it picks up the c++11 dependencies
140 target_link_libraries(tcutil-platform vkutil)
141
142 target_link_libraries(tcutil-platform tcutil ${TCUTIL_PLATFORM_LIBS})
143
144 # Always link to glutil as some platforms such as Win32 always support GL
145 target_link_libraries(tcutil-platform glutil)
146
147 # Always link to eglutil
148 target_link_libraries(tcutil-platform eglutil)
149
150 # X11 libraries
151 if (DEQP_USE_X11)
152         find_package(X11 REQUIRED)
153         target_link_libraries(tcutil-platform ${X11_LIBRARIES})
154         if (DEQP_USE_XCB)
155                 find_package(XCB REQUIRED)
156                 target_link_libraries(tcutil-platform ${XCB_LIBRARIES})
157                 add_definitions(-DDEQP_SUPPORT_XCB=1)
158         endif ()
159         if (DEQP_SUPPORT_GLX)
160           # GLX functions don't currently have wrappers, so link directly to libGL.
161           target_link_libraries(tcutil-platform GL)
162         endif ()
163         if (DEQP_USE_WAYLAND)
164                 find_package(Wayland REQUIRED)
165                 target_link_libraries(tcutil-platform ${WAYLAND_LIBRARIES})
166                 add_definitions(-DDEQP_SUPPORT_WAYLAND=1)
167         endif ()
168 endif ()