summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorManuel Alfayate Corchete <redwindwanderer@gmail.com>2020-12-22 17:17:30 +0100
committerManuel Alfayate Corchete <redwindwanderer@gmail.com>2020-12-22 17:17:30 +0100
commit7508f34952b4d018a9b9deeebce0a70fff4a9def (patch)
tree59ef8a41972ac0bdf7f5c2d0797e6fcbe5594241 /cmake
parentcc94f48483aef7e8f7985a7ea97b69142ddd96b5 (diff)
downloadsdl-7508f34952b4d018a9b9deeebce0a70fff4a9def.tar.gz
[Buildsystem] Only build KMSDRM support if EGL+OpenGL is detected by CMake.
Diffstat (limited to 'cmake')
-rw-r--r--cmake/sdlchecks.cmake21
1 files changed, 20 insertions, 1 deletions
diff --git a/cmake/sdlchecks.cmake b/cmake/sdlchecks.cmake
index a9434c85a..56f0a6a01 100644
--- a/cmake/sdlchecks.cmake
+++ b/cmake/sdlchecks.cmake
@@ -759,6 +759,25 @@ endmacro()
# Requires:
# - PkgCheckModules
+macro(CheckEGLKMSDRM)
+ if (HAVE_VIDEO_OPENGLES OR HAVE_VIDEO_OPENGL)
+ pkg_check_modules(EGL egl)
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${EGL_CFLAGS}")
+ check_c_source_compiles("
+ #define EGL_API_FB
+ #define MESA_EGL_NO_X11_HEADERS
+ #define EGL_NO_X11
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
+ int main (int argc, char** argv) {}" HAVE_VIDEO_OPENGL_EGL)
+ if(HAVE_VIDEO_OPENGL_EGL)
+ set(SDL_VIDEO_OPENGL_EGL 1)
+ endif()
+ endif()
+endmacro()
+
+# Requires:
+# - PkgCheckModules
macro(CheckOpenGLESX11)
pkg_check_modules(EGL egl)
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${EGL_CFLAGS}")
@@ -1152,7 +1171,7 @@ endmacro(CheckRPI)
macro(CheckKMSDRM)
if(VIDEO_KMSDRM)
pkg_check_modules(KMSDRM libdrm gbm egl)
- if(KMSDRM_FOUND)
+ if(KMSDRM_FOUND AND HAVE_VIDEO_OPENGL_EGL)
link_directories(
${KMSDRM_LIBRARY_DIRS}
)