From 504191500196407a4c42adc547a6db318c7e96c3 Mon Sep 17 00:00:00 2001 From: Maarten Bent Date: Thu, 18 Jun 2020 19:56:31 +0200 Subject: [PATCH] CMake: fix building media and gl lib for iOS --- build/cmake/files.cmake | 7 ++++++- build/cmake/init.cmake | 7 ++++++- build/cmake/lib/gl/CMakeLists.txt | 6 ++++-- build/cmake/lib/media/CMakeLists.txt | 8 ++++---- build/files | 6 +++++- 5 files changed, 25 insertions(+), 9 deletions(-) diff --git a/build/cmake/files.cmake b/build/cmake/files.cmake index ec4b247d8b..7dfedeebcf 100644 --- a/build/cmake/files.cmake +++ b/build/cmake/files.cmake @@ -3041,11 +3041,16 @@ set(OPENGL_GTK_HDR wx/unix/glx11.h ) -set(OPENGL_OSX_SHARED_SRC +set(OPENGL_OSX_COCOA_SRC src/osx/cocoa/glcanvas.mm src/osx/glcanvas_osx.cpp ) +set(OPENGL_OSX_IPHONE_SRC + src/osx/iphone/glcanvas.mm + src/osx/glcanvas_osx.cpp +) + set(UNIX_SOUND_SDL_SRC src/unix/sound_sdl.cpp ) diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake index 75bd8f815b..27ef13cacc 100644 --- a/build/cmake/init.cmake +++ b/build/cmake/init.cmake @@ -385,7 +385,12 @@ if(wxUSE_GUI) # extra dependencies if(wxUSE_OPENGL) - find_package(OpenGL) + if(WXOSX_IPHONE) + set(OPENGL_FOUND TRUE) + set(OPENGL_LIBRARIES "-framework OpenGLES" "-framework QuartzCore") + else() + find_package(OpenGL) + endif() if(NOT OPENGL_FOUND) message(WARNING "opengl not found, wxGLCanvas won't be available") wx_option_force_value(wxUSE_OPENGL OFF) diff --git a/build/cmake/lib/gl/CMakeLists.txt b/build/cmake/lib/gl/CMakeLists.txt index 62ce6ef769..2b927cbe27 100644 --- a/build/cmake/lib/gl/CMakeLists.txt +++ b/build/cmake/lib/gl/CMakeLists.txt @@ -15,8 +15,10 @@ if(WXMSW) wx_append_sources(GL_FILES OPENGL_MSW) elseif(WXGTK) wx_append_sources(GL_FILES OPENGL_GTK) -elseif(APPLE) - wx_append_sources(GL_FILES OPENGL_OSX_SHARED) +elseif(WXOSX_COCOA) + wx_append_sources(GL_FILES OPENGL_OSX_COCOA) +elseif(WXOSX_IPHONE) + wx_append_sources(GL_FILES OPENGL_OSX_IPHONE) elseif(WXQT) wx_append_sources(GL_FILES OPENGL_QT) endif() diff --git a/build/cmake/lib/media/CMakeLists.txt b/build/cmake/lib/media/CMakeLists.txt index 2458896d35..4a0aa959c8 100644 --- a/build/cmake/lib/media/CMakeLists.txt +++ b/build/cmake/lib/media/CMakeLists.txt @@ -15,6 +15,8 @@ if(WXMSW) wx_append_sources(MEDIA_FILES MEDIA_MSW) elseif(WXOSX_COCOA) wx_append_sources(MEDIA_FILES MEDIA_OSX_COCOA) +elseif(WXOSX_IPHONE) + wx_append_sources(MEDIA_FILES MEDIA_OSX_IPHONE) elseif(UNIX) wx_append_sources(MEDIA_FILES MEDIA_UNIX) elseif(WXQT) @@ -22,13 +24,11 @@ elseif(WXQT) endif() wx_add_library(wxmedia ${MEDIA_FILES}) -if(WXOSX_COCOA) - # TODO: add version detection of some kind and/or wx_option - wx_lib_compile_definitions(wxmedia PRIVATE -DwxOSX_USE_QTKIT=0) +if(WXOSX) wx_lib_link_libraries(wxmedia PUBLIC "-framework AVFoundation" - "-framework AVKit" "-framework CoreMedia" + "-weak_framework AVKit" ) elseif(UNIX) wx_lib_include_directories(wxmedia PUBLIC ${GSTREAMER_INCLUDE_DIRS}) diff --git a/build/files b/build/files index e40f07b3cb..469036da6d 100644 --- a/build/files +++ b/build/files @@ -2980,10 +2980,14 @@ OPENGL_GTK_SRC = OPENGL_MSW_HDR = wx/msw/glcanvas.h -OPENGL_OSX_SHARED_SRC = +OPENGL_OSX_COCOA_SRC = src/osx/cocoa/glcanvas.mm src/osx/glcanvas_osx.cpp +OPENGL_OSX_IPHONE_SRC = + src/osx/iphone/glcanvas.mm + src/osx/glcanvas_osx.cpp + # Misc plugin sources: UNIX_SOUND_SDL_SRC =