From 26ba9aed286956fe42c360b2d1bc4159b381d452 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Thu, 7 Apr 2016 11:49:17 +0200 Subject: [PATCH] modules: work around buggy framework support for OpenGLES on iOS. --- modules/FindEGL.cmake | 14 +++++++++++++- modules/FindOpenGLES3.cmake | 14 +++++++++++--- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/modules/FindEGL.cmake b/modules/FindEGL.cmake index 14ea3baf6..d38ccbf52 100644 --- a/modules/FindEGL.cmake +++ b/modules/FindEGL.cmake @@ -62,7 +62,19 @@ find_package_handle_standard_args(EGL DEFAULT_MSG if(NOT TARGET EGL::EGL) add_library(EGL::EGL UNKNOWN IMPORTED) + + # Work around BUGGY framework support on OSX + # http://public.kitware.com/pipermail/cmake/2016-April/063179.html + if(APPLE AND ${EGL_LIBRARY} MATCHES "\\.framework$") + add_library(EGL::EGL INTERFACE IMPORTED) + set_property(TARGET EGL::EGL APPEND PROPERTY + INTERFACE_LINK_LIBRARIES ${EGL_LIBRARY}) + else() + add_library(EGL::EGL UNKNOWN IMPORTED) + set_property(TARGET EGL::EGL PROPERTY + IMPORTED_LOCATION ${EGL_LIBRARY}) + endif() + set_target_properties(EGL::EGL PROPERTIES - IMPORTED_LOCATION ${EGL_LIBRARY} INTERFACE_INCLUDE_DIRECTORIES ${EGL_INCLUDE_DIR}) endif() diff --git a/modules/FindOpenGLES3.cmake b/modules/FindOpenGLES3.cmake index 51b476a4e..3ae2c4e74 100644 --- a/modules/FindOpenGLES3.cmake +++ b/modules/FindOpenGLES3.cmake @@ -70,9 +70,17 @@ find_package_handle_standard_args("OpenGLES3" DEFAULT_MSG if(NOT TARGET OpenGLES3::OpenGLES3) if(OPENGLES3_LIBRARY_NEEDED) - add_library(OpenGLES3::OpenGLES3 UNKNOWN IMPORTED) - set_property(TARGET OpenGLES3::OpenGLES3 PROPERTY - IMPORTED_LOCATION ${OPENGLES3_LIBRARY}) + # Work around BUGGY framework support on OSX + # http://public.kitware.com/pipermail/cmake/2016-April/063179.html + if(CORRADE_TARGET_APPLE AND ${OPENGLES3_LIBRARY} MATCHES "\\.framework$") + add_library(OpenGLES3::OpenGLES3 INTERFACE IMPORTED) + set_property(TARGET OpenGLES3::OpenGLES3 APPEND PROPERTY + INTERFACE_LINK_LIBRARIES ${OPENGLES3_LIBRARY}) + else() + add_library(OpenGLES3::OpenGLES3 UNKNOWN IMPORTED) + set_property(TARGET OpenGLES3::OpenGLES3 PROPERTY + IMPORTED_LOCATION ${OPENGLES3_LIBRARY}) + endif() else() # This won't work in CMake 2.8.12, but that affects Emscripten only so # I assume people building for that are not on that crap old Ubuntu