summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimotej Lazar <timotej.lazar@araneo.si>2022-12-27 21:45:05 +0100
committerTimotej Lazar <timotej.lazar@araneo.si>2022-12-27 21:45:05 +0100
commitae83459948e9af720a33ee476c775a226bd8e882 (patch)
tree80c20632fe0b76a87f7594047089e321eeea9f8e
parente6d811f120bcfaa980880c81d1d91b7e0f32fc1b (diff)
Only build with GLES when requested
-rw-r--r--CMakeLists.txt76
1 files changed, 15 insertions, 61 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7b2d35c..828586d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -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)