summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimotej Lazar <timotej.lazar@araneo.si>2022-12-27 21:10:01 +0100
committerTimotej Lazar <timotej.lazar@araneo.si>2022-12-27 21:42:23 +0100
commite6d811f120bcfaa980880c81d1d91b7e0f32fc1b (patch)
tree04bb0f22d3688a8955a027e3114f504b0def5ef7
parent3f92377c674da6c23916530ff58eb79c67c46861 (diff)
Prefer building with SDL2
-rw-r--r--CMakeLists.txt77
1 files changed, 16 insertions, 61 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 78ce3ae..7b2d35c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -52,49 +52,14 @@ IF(NOT AVP_WEB)
pkg_check_modules(EGL egl)
pkg_check_modules(OPENGL gl)
pkg_check_modules(OPENGLES2 glesv2)
- pkg_check_modules(SDL sdl>=1.2)
- pkg_check_modules(SDL2 sdl2)
- # Use SDL 1.2 if it is installed, else use SDL 2.0.
- IF(NOT SDL_TYPE)
- SET(SDL_TYPE AUTO CACHE STRING "SDL Version; one of: AUTO SDL SDL2")
- SET_PROPERTY(CACHE SDL_TYPE PROPERTY STRINGS "AUTO" "SDL" "SDL2")
- ENDIF(NOT SDL_TYPE)
+ option(USE_SDL1 "Use SDL 1.2 instead of SDL 2")
- IF(NOT SDL_TYPE STREQUAL "AUTO" AND NOT SDL_TYPE STREQUAL "SDL" AND NOT SDL_TYPE STREQUAL "SDL2")
- MESSAGE(FATAL_ERROR "Invalid SDL_TYPE setting ${SDL_TYPE}; must be one of AUTO SDL SDL2")
- ENDIF(NOT SDL_TYPE STREQUAL "AUTO" AND NOT SDL_TYPE STREQUAL "SDL" AND NOT SDL_TYPE STREQUAL "SDL2")
-
- IF(SDL_TYPE STREQUAL "AUTO")
- IF(SDL_FOUND)
- MESSAGE(STATUS "SDL 1.2 found; using that.")
- SET(SDL_TYPE "SDL")
- ENDIF(SDL_FOUND)
- ENDIF(SDL_TYPE STREQUAL "AUTO")
-
- IF(SDL_TYPE STREQUAL "AUTO")
- IF(SDL2_FOUND)
- MESSAGE(STATUS "SDL 2.0 found; using that.")
- SET(SDL_TYPE "SDL2")
- ENDIF(SDL2_FOUND)
- ENDIF(SDL_TYPE STREQUAL "AUTO")
-
- IF(SDL_TYPE STREQUAL "AUTO")
- MESSAGE(FATAL_ERROR "SDL 1.2 or SDL 2.0 is required but CMake couldn't find it.")
- ENDIF(SDL_TYPE STREQUAL "AUTO")
-
- IF(SDL_TYPE STREQUAL "SDL")
- IF(NOT SDL_FOUND)
- MESSAGE(FATAL_ERROR "SDL 1.2 was requested but CMake couldn't find it.")
- ENDIF(NOT SDL_FOUND)
- ENDIF(SDL_TYPE STREQUAL "SDL")
-
- IF(SDL_TYPE STREQUAL "SDL2")
- IF(NOT SDL2_FOUND)
- MESSAGE(FATAL_ERROR "SDL 2.0 was requested but CMake couldn't find it.")
- ENDIF(NOT SDL2_FOUND)
- MESSAGE(WARNING "SDL 2.0 support is EXPERIMENTAL and INCOMPLETE.")
- ENDIF(SDL_TYPE STREQUAL "SDL2")
+ IF(USE_SDL1)
+ pkg_check_modules(SDL REQUIRED sdl>=1.2)
+ ELSE()
+ pkg_check_modules(SDL2 REQUIRED sdl2)
+ ENDIF()
# Use Desktop OpenGL if it is available, else try OpenGL ES 2.0.
IF(NOT OPENGL_TYPE)
@@ -134,9 +99,9 @@ IF(NOT AVP_WEB)
IF(NOT OPENGLES2_FOUND)
MESSAGE(FATAL_ERROR "OpenGL ES 2.0 was requested but CMake couldn't find it.")
ENDIF(NOT OPENGLES2_FOUND)
- IF(NOT SDL_TYPE STREQUAL "SDL2")
+ IF(USE_SDL1)
MESSAGE(FATAL_ERROR "OpenGL ES 2.0 support requires SDL2.")
- ENDIF(NOT SDL_TYPE STREQUAL "SDL2")
+ ENDIF()
ENDIF(OPENGL_TYPE STREQUAL "OPENGLES2")
ENDIF(NOT AVP_WEB)
@@ -373,18 +338,16 @@ IF(AVP_WEB)
ENDIF(AVP_WEB)
IF(NOT AVP_WEB)
- IF(SDL_TYPE STREQUAL "SDL")
+ IF(USE_SDL1)
LIST(APPEND source src/main.c)
# SDL 1.2 on OS X requires this support file
IF(APPLE AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
LIST(APPEND source src/sdl12/sdlmain.m)
ENDIF(APPLE AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
- ENDIF(SDL_TYPE STREQUAL "SDL")
-
- IF(SDL_TYPE STREQUAL "SDL2")
+ ELSE()
LIST(APPEND source src/main2.c)
- ENDIF(SDL_TYPE STREQUAL "SDL2")
+ ENDIF()
ENDIF(NOT AVP_WEB)
### build all source as C++
@@ -416,13 +379,13 @@ IF(NOT AVP_WEB)
TARGET_LINK_LIBRARIES(avp winmm)
ENDIF(WIN32)
- IF(SDL_TYPE STREQUAL "SDL")
+ IF(USE_SDL1)
INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIRS})
- ENDIF(SDL_TYPE STREQUAL "SDL")
-
- IF(SDL_TYPE STREQUAL "SDL2")
+ TARGET_LINK_LIBRARIES(avp ${SDL_LIBRARIES})
+ ELSE()
INCLUDE_DIRECTORIES(${SDL2_INCLUDE_DIRS})
- ENDIF(SDL_TYPE STREQUAL "SDL2")
+ TARGET_LINK_LIBRARIES(avp ${SDL2_LIBRARIES})
+ ENDIF()
IF(OPENGL_TYPE STREQUAL "OPENGL")
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIRS})
@@ -440,14 +403,6 @@ IF(NOT AVP_WEB)
INCLUDE_DIRECTORIES(${LIBSWSCALE_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${OPENAL_INCLUDE_DIRS})
- IF(SDL_TYPE STREQUAL "SDL")
- TARGET_LINK_LIBRARIES(avp ${SDL_LIBRARIES})
- ENDIF(SDL_TYPE STREQUAL "SDL")
-
- IF(SDL_TYPE STREQUAL "SDL2")
- TARGET_LINK_LIBRARIES(avp ${SDL2_LIBRARIES})
- ENDIF(SDL_TYPE STREQUAL "SDL2")
-
IF(OPENGL_TYPE STREQUAL "OPENGL")
TARGET_LINK_LIBRARIES(avp ${OPENGL_LIBRARIES})
ENDIF(OPENGL_TYPE STREQUAL "OPENGL")