From e1c43b9287556e130d103cc89fff75dc03ba714b Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Sun, 26 Jun 2022 01:44:09 -0700 Subject: [PATCH] macOS: Disable OpenGL 1.x on newer macOS --- CMakeLists.txt | 13 ++++++++++++- include/mgba/internal/gba/renderers/gl.h | 6 ++---- src/platform/opengl/gles2.h | 6 ++---- src/platform/qt/CMakeLists.txt | 1 - 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5c0b987d1..1c6ee194b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -235,6 +235,7 @@ elseif(UNIX) endif() if(APPLE) + execute_process(COMMAND xcrun --show-sdk-version OUTPUT_VARIABLE MACOSX_SDK) add_definitions(-D_DARWIN_C_SOURCE) list(APPEND OS_LIB "-framework Foundation") if(NOT CMAKE_SYSTEM_VERSION VERSION_LESS "10.0") # Darwin 10.x is Mac OS X 10.6 @@ -413,7 +414,7 @@ endif() if(BUILD_GL) find_package(OpenGL QUIET) - if(NOT OPENGL_FOUND) + if(NOT OPENGL_FOUND OR (APPLE AND MACOSX_SDK VERSION_GREATER 10.14)) set(BUILD_GL OFF CACHE BOOL "OpenGL not found" FORCE) elseif(UNIX AND NOT APPLE AND TARGET OpenGL::GL) set(OPENGL_LIBRARY OpenGL::GL) @@ -430,6 +431,11 @@ if(NOT BUILD_GL AND NOT LIBMGBA_ONLY) endif() if(BUILD_GLES2 AND NOT BUILD_GL) + if(APPLE AND MACOSX_SDK VERSION_GREATER 10.14) + find_package(OpenGL QUIET) + set(OPENGLES2_INCLUDE_DIR ${OPENGL_INCLUDE_DIR}) + set(OPENGLES2_LIBRARY ${OPENGL_LIBRARY}) + endif() find_path(OPENGLES2_INCLUDE_DIR NAMES GLES2/gl2.h) find_library(OPENGLES2_LIBRARY NAMES GLESv2 GLESv2_CM) if(NOT OPENGLES2_INCLUDE_DIR OR NOT OPENGLES2_LIBRARY) @@ -443,6 +449,11 @@ if(BUILD_GLES2) endif() if(BUILD_GLES3 AND NOT BUILD_GL) + if(APPLE AND MACOSX_SDK VERSION_GREATER 10.14) + find_package(OpenGL QUIET) + set(OPENGLES3_INCLUDE_DIR ${OPENGL_INCLUDE_DIR}) + set(OPENGLES3_LIBRARY ${OPENGL_LIBRARY}) + endif() find_path(OPENGLES3_INCLUDE_DIR NAMES GLES3/gl3.h) find_library(OPENGLES3_LIBRARY NAMES GLESv3 GLESv2) if(NOT OPENGLES3_INCLUDE_DIR OR NOT OPENGLES3_LIBRARY) diff --git a/include/mgba/internal/gba/renderers/gl.h b/include/mgba/internal/gba/renderers/gl.h index ccf682614..14cf11678 100644 --- a/include/mgba/internal/gba/renderers/gl.h +++ b/include/mgba/internal/gba/renderers/gl.h @@ -20,14 +20,12 @@ CXX_GUARD_START #ifdef USE_EPOXY #include -#elif defined(BUILD_GL) -#ifdef __APPLE__ +#elif defined(__APPLE__) #include -#else +#elif defined(BUILD_GL) #define GL_GLEXT_PROTOTYPES #include #include -#endif #else #include #endif diff --git a/src/platform/opengl/gles2.h b/src/platform/opengl/gles2.h index 31a2d3e2a..144a64a13 100644 --- a/src/platform/opengl/gles2.h +++ b/src/platform/opengl/gles2.h @@ -12,14 +12,12 @@ CXX_GUARD_START #ifdef USE_EPOXY #include -#elif defined(BUILD_GL) -#ifdef __APPLE__ +#elif defined(__APPLE__) #include -#else +#elif defined(BUILD_GL) #define GL_GLEXT_PROTOTYPES #include #include -#endif #elif defined(BUILD_GLES3) #include #else diff --git a/src/platform/qt/CMakeLists.txt b/src/platform/qt/CMakeLists.txt index 3db5ebc55..9b1f60288 100644 --- a/src/platform/qt/CMakeLists.txt +++ b/src/platform/qt/CMakeLists.txt @@ -39,7 +39,6 @@ if(NOT ${QT}Widgets_FOUND) endif() if(APPLE) - execute_process(COMMAND xcrun --show-sdk-version OUTPUT_VARIABLE MACOSX_SDK) if(MACOSX_SDK VERSION_GREATER 10.14) list(APPEND QT_DEFINES USE_SHARE_WIDGET) endif()