Only build with GLES when requested

This commit is contained in:
Timotej Lazar 2022-12-27 21:45:05 +01:00
parent e6d811f120
commit ae83459948

View file

@ -49,11 +49,9 @@ IF(NOT AVP_WEB)
pkg_check_modules(LIBAVUTIL REQUIRED libavutil)
pkg_check_modules(LIBSWSCALE REQUIRED libswscale)
pkg_check_modules(OPENAL REQUIRED openal)
pkg_check_modules(EGL egl)
pkg_check_modules(OPENGL gl)
pkg_check_modules(OPENGLES2 glesv2)
option(USE_SDL1 "Use SDL 1.2 instead of SDL 2")
option(USE_GLES2 "Use OpenGLES 2 instead of OpenGL")
IF(USE_SDL1)
pkg_check_modules(SDL REQUIRED sdl>=1.2)
@ -61,49 +59,16 @@ IF(NOT AVP_WEB)
pkg_check_modules(SDL2 REQUIRED sdl2)
ENDIF()
# Use Desktop OpenGL if it is available, else try OpenGL ES 2.0.
IF(NOT OPENGL_TYPE)
SET(OPENGL_TYPE AUTO CACHE STRING "OpenGL Version; one of: AUTO OPENGL OPENGLES2")
SET_PROPERTY(CACHE OPENGL_TYPE PROPERTY STRINGS "AUTO" "OPENGL" "OPENGLES2")
ENDIF(NOT OPENGL_TYPE)
IF(NOT OPENGL_TYPE STREQUAL "AUTO" AND NOT OPENGL_TYPE STREQUAL "OPENGL" AND NOT OPENGL_TYPE STREQUAL "OPENGLES2")
MESSAGE(FATAL_ERROR "Invalid OPENGL_TYPE setting ${OPENGL_TYPE}; must be one of AUTO OPENGL OPENGLES2")
ENDIF(NOT OPENGL_TYPE STREQUAL "AUTO" AND NOT OPENGL_TYPE STREQUAL "OPENGL" AND NOT OPENGL_TYPE STREQUAL "OPENGLES2")
IF(OPENGL_TYPE STREQUAL "AUTO")
IF(OPENGL_FOUND)
MESSAGE(STATUS "OpenGL found; using that.")
SET(OPENGL_TYPE "OPENGL")
ENDIF(OPENGL_FOUND)
ENDIF(OPENGL_TYPE STREQUAL "AUTO")
IF(OPENGL_TYPE STREQUAL "AUTO")
IF(OPENGLES2_FOUND)
MESSAGE(STATUS "OpenGL ES 2.0 found; using that.")
SET(OPENGL_TYPE "OPENGLES2")
ENDIF(OPENGLES2_FOUND)
ENDIF(OPENGL_TYPE STREQUAL "AUTO")
IF(OPENGL_TYPE STREQUAL "AUTO")
MESSAGE(FATAL_ERROR "OpenGL is required but CMake couldn't find it.")
ENDIF(OPENGL_TYPE STREQUAL "AUTO")
IF(OPENGL_TYPE STREQUAL "OPENGL")
IF(NOT OPENGL_FOUND)
MESAGE(FATAL_ERROR "OpenGL was requested but CMake couldn't find it.")
ENDIF(NOT OPENGL_FOUND)
ENDIF(OPENGL_TYPE STREQUAL "OPENGL")
IF(OPENGL_TYPE STREQUAL "OPENGLES2")
IF(NOT OPENGLES2_FOUND)
MESSAGE(FATAL_ERROR "OpenGL ES 2.0 was requested but CMake couldn't find it.")
ENDIF(NOT OPENGLES2_FOUND)
IF(USE_GLES2)
IF(USE_SDL1)
MESSAGE(FATAL_ERROR "OpenGL ES 2.0 support requires SDL2.")
ENDIF()
ENDIF(OPENGL_TYPE STREQUAL "OPENGLES2")
ENDIF(NOT AVP_WEB)
pkg_check_modules(EGL REQUIRED egl)
pkg_check_modules(OPENGLES2 REQUIRED glesv2)
ELSE()
pkg_check_modules(OPENGL REQUIRED gl)
ENDIF()
ENDIF()
# required source files
LIST(APPEND source src/bink.c)
@ -387,15 +352,16 @@ IF(NOT AVP_WEB)
TARGET_LINK_LIBRARIES(avp ${SDL2_LIBRARIES})
ENDIF()
IF(OPENGL_TYPE STREQUAL "OPENGL")
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIRS})
ENDIF(OPENGL_TYPE STREQUAL "OPENGL")
IF(OPENGL_TYPE STREQUAL "OPENGLES2")
IF(USE_GLES2)
ADD_DEFINITIONS(-DUSE_OPENGL_ES=1)
INCLUDE_DIRECTORIES(${OPENGLES2_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${EGL_INCLUDE_DIRS})
ENDIF(OPENGL_TYPE STREQUAL "OPENGLES2")
TARGET_LINK_LIBRARIES(avp ${OPENGLES2_LIBRARIES})
TARGET_LINK_LIBRARIES(avp ${EGL_LIBRARIES})
ELSE()
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIRS})
TARGET_LINK_LIBRARIES(avp ${OPENGL_LIBRARIES})
ENDIF()
INCLUDE_DIRECTORIES(${LIBAVCODEC_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${LIBAVFORMAT_INCLUDE_DIRS})
@ -403,21 +369,9 @@ IF(NOT AVP_WEB)
INCLUDE_DIRECTORIES(${LIBSWSCALE_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${OPENAL_INCLUDE_DIRS})
IF(OPENGL_TYPE STREQUAL "OPENGL")
TARGET_LINK_LIBRARIES(avp ${OPENGL_LIBRARIES})
ENDIF(OPENGL_TYPE STREQUAL "OPENGL")
IF(OPENGL_TYPE STREQUAL "OPENGLES2")
TARGET_LINK_LIBRARIES(avp ${OPENGLES2_LIBRARIES})
TARGET_LINK_LIBRARIES(avp ${EGL_LIBRARIES})
ENDIF(OPENGL_TYPE STREQUAL "OPENGLES2")
TARGET_LINK_LIBRARIES(avp ${LIBAVCODEC_LIBRARIES})
TARGET_LINK_LIBRARIES(avp ${LIBAVFORMAT_LIBRARIES})
TARGET_LINK_LIBRARIES(avp ${LIBAVUTIL_LIBRARIES})
TARGET_LINK_LIBRARIES(avp ${LIBSWSCALE_LIBRARIES})
TARGET_LINK_LIBRARIES(avp ${OPENAL_LIBRARIES})
ENDIF(NOT AVP_WEB)