|
@@ -1453,6 +1453,7 @@ elseif(APPLE)
|
|
|
set(SDL_FRAMEWORK_COCOA 1)
|
|
|
set(SDL_FRAMEWORK_CARBON 1)
|
|
|
endif()
|
|
|
+ set(SDL_FRAMEWORK_FOUNDATION 1)
|
|
|
|
|
|
# Requires the darwin file implementation
|
|
|
if(SDL_FILE)
|
|
@@ -1476,6 +1477,7 @@ elseif(APPLE)
|
|
|
set(HAVE_SDL_AUDIO TRUE)
|
|
|
set(SDL_FRAMEWORK_COREAUDIO 1)
|
|
|
set(SDL_FRAMEWORK_AUDIOTOOLBOX 1)
|
|
|
+ set(SDL_FRAMEWORK_AVFOUNDATION 1)
|
|
|
endif()
|
|
|
|
|
|
if(SDL_JOYSTICK)
|
|
@@ -1483,43 +1485,49 @@ elseif(APPLE)
|
|
|
if(HAVE_HIDAPI)
|
|
|
if(IOS)
|
|
|
set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/hidapi/ios/hid.m)
|
|
|
+ set(SDL_FRAMEWORK_COREBLUETOOTH 1)
|
|
|
endif()
|
|
|
endif()
|
|
|
- set(SDL_JOYSTICK_IOKIT 1)
|
|
|
if (IOS)
|
|
|
file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/iphoneos/*.m ${SDL2_SOURCE_DIR}/src/joystick/steam/*.c)
|
|
|
+ set(SDL_JOYSTICK_MFI 1)
|
|
|
+ set(SDL_FRAMEWORK_COREMOTION 1)
|
|
|
+ set(SDL_FRAMEWORK_GAMECONTROLLER 1)
|
|
|
+ set(HAVE_SDL_SENSORS 1)
|
|
|
else()
|
|
|
file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/darwin/*.c)
|
|
|
+ set(SDL_JOYSTICK_IOKIT 1)
|
|
|
+ set(SDL_FRAMEWORK_IOKIT 1)
|
|
|
+ set(SDL_FRAMEWORK_FF 1)
|
|
|
endif()
|
|
|
set(SOURCE_FILES ${SOURCE_FILES} ${JOYSTICK_SOURCES})
|
|
|
set(HAVE_SDL_JOYSTICK TRUE)
|
|
|
- set(SDL_FRAMEWORK_IOKIT 1)
|
|
|
- set(SDL_FRAMEWORK_FF 1)
|
|
|
endif()
|
|
|
|
|
|
if(SDL_HAPTIC)
|
|
|
- set(SDL_HAPTIC_IOKIT 1)
|
|
|
if (IOS)
|
|
|
file(GLOB HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/dummy/*.c)
|
|
|
set(SDL_HAPTIC_DUMMY 1)
|
|
|
else()
|
|
|
file(GLOB HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/darwin/*.c)
|
|
|
+ set(SDL_HAPTIC_IOKIT 1)
|
|
|
+ set(SDL_FRAMEWORK_IOKIT 1)
|
|
|
+ set(SDL_FRAMEWORK_FF 1)
|
|
|
endif()
|
|
|
set(SOURCE_FILES ${SOURCE_FILES} ${HAPTIC_SOURCES})
|
|
|
set(HAVE_SDL_HAPTIC TRUE)
|
|
|
- set(SDL_FRAMEWORK_IOKIT 1)
|
|
|
- set(SDL_FRAMEWORK_FF 1)
|
|
|
if(NOT SDL_JOYSTICK)
|
|
|
message(FATAL_ERROR "SDL_HAPTIC requires SDL_JOYSTICK to be enabled")
|
|
|
endif()
|
|
|
endif()
|
|
|
|
|
|
if(SDL_POWER)
|
|
|
- set(SDL_POWER_MACOSX 1)
|
|
|
if (IOS)
|
|
|
file(GLOB POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/uikit/*.m)
|
|
|
+ set(SDL_POWER_UIKIT 1)
|
|
|
else()
|
|
|
file(GLOB POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/macosx/*.c)
|
|
|
+ set(SDL_POWER_MACOSX 1)
|
|
|
endif()
|
|
|
set(SOURCE_FILES ${SOURCE_FILES} ${POWER_SOURCES})
|
|
|
set(HAVE_SDL_POWER TRUE)
|
|
@@ -1542,10 +1550,24 @@ elseif(APPLE)
|
|
|
set(HAVE_SDL_FILESYSTEM TRUE)
|
|
|
endif()
|
|
|
|
|
|
+ if(SDL_SENSOR)
|
|
|
+ if(IOS)
|
|
|
+ set(SDL_SENSOR_COREMOTION 1)
|
|
|
+ set(HAVE_SDL_SENSORS TRUE)
|
|
|
+ file(GLOB SENSOR_SOURCES ${SDL2_SOURCE_DIR}/src/sensor/coremotion/*.m)
|
|
|
+ set(SOURCE_FILES ${SOURCE_FILES} ${SENSOR_SOURCES})
|
|
|
+ endif()
|
|
|
+ endif()
|
|
|
+
|
|
|
# iOS hack needed - http://code.google.com/p/ios-cmake/ ?
|
|
|
if(SDL_VIDEO)
|
|
|
if (IOS)
|
|
|
set(SDL_VIDEO_DRIVER_UIKIT 1)
|
|
|
+ set(SDL_FRAMEWORK_COREGRAPHICS 1)
|
|
|
+ set(SDL_FRAMEWORK_QUARTZCORE 1)
|
|
|
+ set(SDL_FRAMEWORK_UIKIT 1)
|
|
|
+ set(SDL_IPHONE_KEYBOARD 1)
|
|
|
+ set(SDL_IPHONE_LAUNCHSCREEN 1)
|
|
|
file(GLOB UIKITVIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/uikit/*.m)
|
|
|
set(SOURCE_FILES ${SOURCE_FILES} ${UIKITVIDEO_SOURCES})
|
|
|
else()
|
|
@@ -1556,15 +1578,21 @@ elseif(APPLE)
|
|
|
set(SDL_VIDEO_RENDER_OGL 1)
|
|
|
set(HAVE_VIDEO_OPENGL TRUE)
|
|
|
endif()
|
|
|
+ endif()
|
|
|
|
|
|
- if(VIDEO_OPENGLES)
|
|
|
+ if(VIDEO_OPENGLES)
|
|
|
+ if(IOS)
|
|
|
+ set(SDL_FRAMEWORK_OPENGLES 1)
|
|
|
+ set(SDL_VIDEO_OPENGL_ES 1)
|
|
|
+ set(SDL_VIDEO_RENDER_OGL_ES 1)
|
|
|
+ else()
|
|
|
set(SDL_VIDEO_OPENGL_EGL 1)
|
|
|
- set(SDL_VIDEO_OPENGL_ES2 1)
|
|
|
- set(SDL_VIDEO_RENDER_OGL_ES2 1)
|
|
|
- set(HAVE_VIDEO_OPENGLES TRUE)
|
|
|
endif()
|
|
|
+ set(SDL_VIDEO_OPENGL_ES2 1)
|
|
|
+ set(SDL_VIDEO_RENDER_OGL_ES2 1)
|
|
|
+ set(HAVE_VIDEO_OPENGLES TRUE)
|
|
|
endif()
|
|
|
-
|
|
|
+
|
|
|
if(VIDEO_VULKAN OR VIDEO_METAL OR RENDER_METAL)
|
|
|
set(ORIG_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
|
|
|
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -x objective-c")
|
|
@@ -1634,6 +1662,30 @@ elseif(APPLE)
|
|
|
find_library(AUDIOTOOLBOX AudioToolbox)
|
|
|
list(APPEND EXTRA_LIBS ${AUDIOTOOLBOX})
|
|
|
endif()
|
|
|
+ if(SDL_FRAMEWORK_AVFOUNDATION)
|
|
|
+ find_library(AVFOUNDATION AVFoundation)
|
|
|
+ list(APPEND EXTRA_LIBS ${AVFOUNDATION})
|
|
|
+ endif()
|
|
|
+ if(SDL_FRAMEWORK_COREBLUETOOTH)
|
|
|
+ find_library(COREBLUETOOTH CoreBluetooth)
|
|
|
+ list(APPEND EXTRA_LIBS ${COREBLUETOOTH})
|
|
|
+ endif()
|
|
|
+ if(SDL_FRAMEWORK_COREGRAPHICS)
|
|
|
+ find_library(COREGRAPHICS CoreGraphics)
|
|
|
+ list(APPEND EXTRA_LIBS ${COREGRAPHICS})
|
|
|
+ endif()
|
|
|
+ if(SDL_FRAMEWORK_COREMOTION)
|
|
|
+ find_library(COREMOTION CoreMotion)
|
|
|
+ list(APPEND EXTRA_LIBS ${COREMOTION})
|
|
|
+ endif()
|
|
|
+ if(SDL_FRAMEWORK_FOUNDATION)
|
|
|
+ find_library(FOUNDATION Foundation)
|
|
|
+ list(APPEND EXTRA_LIBS ${FOUNDATION})
|
|
|
+ endif()
|
|
|
+ if(SDL_FRAMEWORK_GAMECONTROLLER)
|
|
|
+ find_library(GAMECONTROLLER GameController)
|
|
|
+ list(APPEND EXTRA_LIBS ${GAMECONTROLLER})
|
|
|
+ endif()
|
|
|
if(SDL_FRAMEWORK_METAL)
|
|
|
if(IOS)
|
|
|
find_library(METAL Metal)
|
|
@@ -1642,6 +1694,10 @@ elseif(APPLE)
|
|
|
list(APPEND EXTRA_LDFLAGS "-Wl,-weak_framework,Metal")
|
|
|
endif()
|
|
|
endif()
|
|
|
+ if(SDL_FRAMEWORK_OPENGLES)
|
|
|
+ find_library(OPENGLES OpenGLES)
|
|
|
+ list(APPEND EXTRA_LIBS ${OPENGLES})
|
|
|
+ endif()
|
|
|
if(SDL_FRAMEWORK_QUARTZCORE)
|
|
|
if(IOS)
|
|
|
find_library(QUARTZCORE QuartzCore)
|
|
@@ -1650,6 +1706,10 @@ elseif(APPLE)
|
|
|
list(APPEND EXTRA_LDFLAGS "-Wl,-weak_framework,QuartzCore")
|
|
|
endif()
|
|
|
endif()
|
|
|
+ if(SDL_FRAMEWORK_UIKIT)
|
|
|
+ find_library(UIKIT UIKit)
|
|
|
+ list(APPEND EXTRA_LIBS ${UIKIT})
|
|
|
+ endif()
|
|
|
|
|
|
CheckPTHREAD()
|
|
|
|
|
@@ -1900,6 +1960,10 @@ if(SDL_SHARED)
|
|
|
if (NOT ANDROID)
|
|
|
set_target_properties(SDL2 PROPERTIES DEBUG_POSTFIX ${SDL_CMAKE_DEBUG_POSTFIX})
|
|
|
endif()
|
|
|
+ if(IOS)
|
|
|
+ set_property(TARGET SDL2 APPEND_STRING PROPERTY COMPILE_FLAGS "-fobjc-arc")
|
|
|
+ target_compile_definitions(SDL2 PRIVATE IOS_DYLIB=1)
|
|
|
+ endif()
|
|
|
endif()
|
|
|
|
|
|
if(ANDROID)
|
|
@@ -1942,6 +2006,9 @@ if(SDL_STATIC)
|
|
|
if (NOT ANDROID)
|
|
|
set_target_properties(SDL2-static PROPERTIES DEBUG_POSTFIX ${SDL_CMAKE_DEBUG_POSTFIX})
|
|
|
endif()
|
|
|
+ if(IOS)
|
|
|
+ set_property(TARGET SDL2-static APPEND_STRING PROPERTY COMPILE_FLAGS "-fobjc-arc")
|
|
|
+ endif()
|
|
|
endif()
|
|
|
|
|
|
##### Tests #####
|