| # Platform port library |
| |
| # Target file may define TCUTIL_PLATFORM_SRCS |
| if (NOT DEFINED TCUTIL_PLATFORM_SRCS) |
| if (DE_OS_IS_WIN32) |
| set(TCUTIL_PLATFORM_SRCS |
| win32/tcuWin32Platform.hpp |
| win32/tcuWin32Platform.cpp |
| win32/tcuWGLContextFactory.hpp |
| win32/tcuWGLContextFactory.cpp |
| win32/tcuWGL.hpp |
| win32/tcuWGL.cpp |
| win32/tcuWin32API.h |
| win32/tcuWin32Window.cpp |
| win32/tcuWin32Window.hpp |
| win32/tcuWin32EGLNativeDisplayFactory.hpp |
| win32/tcuWin32EGLNativeDisplayFactory.cpp |
| win32/tcuWin32VulkanPlatform.hpp |
| win32/tcuWin32VulkanPlatform.cpp |
| ) |
| |
| elseif ((DE_OS_IS_UNIX OR DE_OS_IS_OSX) AND (DEQP_USE_X11 OR DEQP_USE_WAYLAND)) |
| |
| set(TCUTIL_PLATFORM_SRCS |
| lnx/tcuLnx.cpp |
| lnx/tcuLnx.cpp |
| lnx/tcuLnxPlatform.cpp |
| lnx/tcuLnxPlatform.hpp |
| lnx/tcuLnxEglPlatform.hpp |
| lnx/tcuLnxEglPlatform.cpp |
| lnx/tcuLnxVulkanPlatform.hpp |
| lnx/tcuLnxVulkanPlatform.cpp |
| ) |
| |
| include_directories(lnx) |
| |
| if (DEQP_USE_X11) |
| add_definitions(-DDEQP_SUPPORT_X11=1) |
| include_directories(lnx/X11) |
| |
| message(STATUS "DEQP_SUPPORT_GLX = ${DEQP_SUPPORT_GLX}") |
| |
| if (DEQP_SUPPORT_GLX) |
| add_definitions(-DDEQP_SUPPORT_GLX=1) |
| endif () |
| |
| set(TCUTIL_PLATFORM_SRCS |
| ${TCUTIL_PLATFORM_SRCS} |
| lnx/X11/tcuLnxX11.cpp |
| lnx/X11/tcuLnxX11.hpp |
| lnx/X11/tcuLnxX11EglDisplayFactory.hpp |
| lnx/X11/tcuLnxX11EglDisplayFactory.cpp |
| ) |
| |
| if (DEQP_USE_XCB) |
| set(TCUTIL_PLATFORM_SRCS |
| ${TCUTIL_PLATFORM_SRCS} |
| lnx/X11/tcuLnxX11Xcb.hpp |
| lnx/X11/tcuLnxX11Xcb.cpp |
| ) |
| endif() |
| |
| if (DEQP_SUPPORT_GLX) |
| set(TCUTIL_PLATFORM_SRCS |
| ${TCUTIL_PLATFORM_SRCS} |
| lnx/X11/tcuLnxX11GlxPlatform.hpp |
| lnx/X11/tcuLnxX11GlxPlatform.cpp |
| ) |
| endif() |
| endif() |
| |
| if (DEQP_USE_WAYLAND) |
| add_definitions(-DDEQP_SUPPORT_WAYLAND=1) |
| include_directories(lnx/wayland) |
| |
| set(TCUTIL_PLATFORM_SRCS |
| ${TCUTIL_PLATFORM_SRCS} |
| lnx/wayland/tcuLnxWayland.hpp |
| lnx/wayland/tcuLnxWayland.cpp |
| lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp |
| lnx/wayland/tcuLnxWaylandEglDisplayFactory.hpp |
| ) |
| include_directories(wayland) |
| endif() |
| |
| elseif (DE_OS_IS_UNIX AND DEQP_USE_SURFACELESS) |
| set(TCUTIL_PLATFORM_SRCS |
| surfaceless/tcuSurfacelessPlatform.hpp |
| surfaceless/tcuSurfacelessPlatform.cpp |
| ) |
| |
| elseif (DE_OS_IS_ANDROID) |
| set(TCUTIL_PLATFORM_SRCS |
| android/tcuAndroidExecService.cpp |
| android/tcuAndroidExecService.hpp |
| ) |
| |
| if (DE_ANDROID_API GREATER 8) |
| # Add NativeActivity code |
| set(TCUTIL_PLATFORM_SRCS |
| ${TCUTIL_PLATFORM_SRCS} |
| android/tcuAndroidAssets.cpp |
| android/tcuAndroidAssets.hpp |
| android/tcuAndroidInternals.cpp |
| android/tcuAndroidInternals.hpp |
| android/tcuAndroidNativeActivity.cpp |
| android/tcuAndroidNativeActivity.hpp |
| android/tcuAndroidPlatform.cpp |
| android/tcuAndroidPlatform.hpp |
| android/tcuAndroidRenderActivity.cpp |
| android/tcuAndroidRenderActivity.hpp |
| android/tcuAndroidTestActivity.cpp |
| android/tcuAndroidTestActivity.hpp |
| android/tcuAndroidUtil.cpp |
| android/tcuAndroidUtil.hpp |
| android/tcuAndroidWindow.cpp |
| android/tcuAndroidWindow.hpp |
| ) |
| endif () |
| |
| elseif (DE_OS_IS_IOS) |
| set(TCUTIL_PLATFORM_SRCS |
| ios/tcuIOSApp.mm |
| ios/tcuIOSApp.h |
| ios/tcuIOSPlatform.mm |
| ios/tcuIOSPlatform.hh |
| ) |
| |
| elseif (DE_OS_IS_OSX) |
| set(TCUTIL_PLATFORM_SRCS |
| osx/tcuOSXPlatform.cpp |
| osx/tcuOSXPlatform.hpp |
| osx/tcuOSXVulkanPlatform.cpp |
| osx/tcuOSXVulkanPlatform.hpp |
| osx/tcuOSXMetalView.mm |
| osx/tcuOSXMetalView.hpp |
| ) |
| |
| else () |
| set(TCUTIL_PLATFORM_SRCS |
| vanilla/tcuVanillaPlatform.cpp |
| ) |
| |
| endif () |
| endif () |
| |
| add_library(tcutil-platform STATIC ${TCUTIL_PLATFORM_SRCS}) |
| |
| # Add vkutil to the deps before tcutil so that it picks up the c++11 dependencies |
| target_link_libraries(tcutil-platform vkutil) |
| |
| target_link_libraries(tcutil-platform tcutil ${TCUTIL_PLATFORM_LIBS}) |
| |
| # Always link to glutil as some platforms such as Win32 always support GL |
| target_link_libraries(tcutil-platform glutil) |
| |
| # Always link to eglutil |
| target_link_libraries(tcutil-platform eglutil) |
| |
| # X11 libraries |
| if (DEQP_USE_X11) |
| find_package(X11 REQUIRED) |
| target_link_libraries(tcutil-platform ${X11_LIBRARIES}) |
| if (DEQP_USE_XCB) |
| find_package(XCB REQUIRED) |
| target_link_libraries(tcutil-platform ${XCB_LIBRARIES}) |
| add_definitions(-DDEQP_SUPPORT_XCB=1) |
| endif () |
| if (DEQP_SUPPORT_GLX) |
| # GLX functions don't currently have wrappers, so link directly to libGL. |
| target_link_libraries(tcutil-platform GL) |
| endif () |
| if (DEQP_USE_WAYLAND) |
| find_package(Wayland REQUIRED) |
| target_link_libraries(tcutil-platform ${WAYLAND_LIBRARIES}) |
| add_definitions(-DDEQP_SUPPORT_WAYLAND=1) |
| endif () |
| endif () |