| # 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 |
| ) |
| |
| if (DEQP_SUPPORT_EGL) |
| set(TCUTIL_PLATFORM_SRCS |
| ${TCUTIL_PLATFORM_SRCS} |
| win32/tcuWin32EGLNativeDisplayFactory.hpp |
| win32/tcuWin32EGLNativeDisplayFactory.cpp |
| ) |
| endif() |
| elseif ((DE_OS_IS_UNIX OR DE_OS_IS_OSX) AND DEQP_USE_X11) |
| set(TCUTIL_PLATFORM_SRCS |
| X11/tcuX11.cpp |
| X11/tcuX11.hpp |
| X11/tcuX11Platform.hpp |
| X11/tcuX11Platform.cpp |
| ) |
| if (DEQP_SUPPORT_EGL) |
| set(TCUTIL_PLATFORM_SRCS |
| ${TCUTIL_PLATFORM_SRCS} |
| X11/tcuX11EglPlatform.hpp |
| X11/tcuX11EglPlatform.cpp |
| ) |
| endif() |
| if (DEQP_SUPPORT_GLX) |
| set(TCUTIL_PLATFORM_SRCS |
| ${TCUTIL_PLATFORM_SRCS} |
| X11/tcuX11GlxPlatform.hpp |
| X11/tcuX11GlxPlatform.cpp |
| ) |
| endif() |
| if (NOT (DEQP_SUPPORT_EGL OR DEQP_SUPPORT_GLX)) |
| message(FATAL_ERROR "At least one of EGL and GLX must be enabled for X11") |
| endif () |
| 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 |
| ) |
| |
| else () |
| set(TCUTIL_PLATFORM_SRCS |
| vanilla/tcuVanillaPlatform.cpp |
| ) |
| |
| endif () |
| endif () |
| |
| add_library(tcutil-platform STATIC ${TCUTIL_PLATFORM_SRCS}) |
| 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) |
| |
| # Link to eglutil if platform supports EGL |
| if (DEQP_SUPPORT_EGL) |
| target_link_libraries(tcutil-platform eglutil eglwrapper) |
| endif () |
| |
| # X11 libraries |
| if (DEQP_USE_X11) |
| find_package(X11 REQUIRED) |
| target_link_libraries(tcutil-platform ${X11_LIBRARIES}) |
| if (DEQP_SUPPORT_GLX) |
| # GLX functions don't currently have wrappers, so link directly to libGL. |
| target_link_libraries(tcutil-platform GL) |
| endif () |
| endif () |