From f6503d52d995d022ebd8b34acb2b4b005ad9fab0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Tue, 30 Jul 2019 00:35:46 +0200 Subject: [PATCH] modules: we don't need GL(ES) include files. Don't try to look for them if we don't use them. It only makes people install additional outdated crap on their machines for no reason. The only case where platform-specific GL headers are needed is in case of iOS which doesn't provide any means of function pointer loading, but there the include is passed implicitly from the framework. --- doc/changelog.dox | 2 ++ modules/FindOpenGLES2.cmake | 18 +++++------------- modules/FindOpenGLES3.cmake | 18 +++++------------- 3 files changed, 12 insertions(+), 26 deletions(-) diff --git a/doc/changelog.dox b/doc/changelog.dox index 2f73844c4..25d392d41 100644 --- a/doc/changelog.dox +++ b/doc/changelog.dox @@ -399,6 +399,8 @@ See also: - `FindEGL.cmake`, `FindOpenAL.cmake`, `FindOpenGLES2.cmake` and `FindOpenGLES3.cmake` now explicitly link to the `GL` and `openal` libraries on Emscripten, which is needed for `MINIMAL_BUILD` +- `FindOpenGLES2.cmake` and `FindOpenGLES3.cmake` don't require GL ES headers + to be installed on the system anymore, as Magnum uses its own copies - Fixed linking of static `Any*` plugins when the libraries are otherwise build as dynamic - Removed mention of the outdated Ubuntu PPA from @ref building as it doesn't diff --git a/modules/FindOpenGLES2.cmake b/modules/FindOpenGLES2.cmake index 1ed6f9706..afbfc3389 100644 --- a/modules/FindOpenGLES2.cmake +++ b/modules/FindOpenGLES2.cmake @@ -10,7 +10,10 @@ # Additionally these variables are defined for internal usage: # # OPENGLES2_LIBRARY - OpenGL ES 2 library -# OPENGLES2_INCLUDE_DIR - Include dir +# +# Please note this find module is tailored especially for the needs of Magnum. +# In particular, it depends on its platform definitions and doesn't look for +# OpenGL ES includes as Magnum has its own, generated using flextGL. # # @@ -53,17 +56,9 @@ else() OpenGLES) endif() -# Include dir -find_path(OPENGLES2_INCLUDE_DIR NAMES - GLES2/gl2.h - - # iOS - ES2/gl.h) - include(FindPackageHandleStandardArgs) find_package_handle_standard_args(OpenGLES2 DEFAULT_MSG - OPENGLES2_LIBRARY - OPENGLES2_INCLUDE_DIR) + OPENGLES2_LIBRARY) if(NOT TARGET OpenGLES2::OpenGLES2) # Work around BUGGY framework support on macOS. Do this also in case of @@ -78,7 +73,4 @@ if(NOT TARGET OpenGLES2::OpenGLES2) set_property(TARGET OpenGLES2::OpenGLES2 PROPERTY IMPORTED_LOCATION ${OPENGLES2_LIBRARY}) endif() - - set_property(TARGET OpenGLES2::OpenGLES2 PROPERTY - INTERFACE_INCLUDE_DIRECTORIES ${OPENGLES2_INCLUDE_DIR}) endif() diff --git a/modules/FindOpenGLES3.cmake b/modules/FindOpenGLES3.cmake index d1750bb17..f78c1eb53 100644 --- a/modules/FindOpenGLES3.cmake +++ b/modules/FindOpenGLES3.cmake @@ -10,7 +10,10 @@ # Additionally these variables are defined for internal usage: # # OPENGLES3_LIBRARY - OpenGL ES 3 library -# OPENGLES3_INCLUDE_DIR - Include dir +# +# Please note this find module is tailored especially for the needs of Magnum. +# In particular, it depends on its platform definitions and doesn't look for +# OpenGL ES includes as Magnum has its own, generated using flextGL. # # @@ -57,17 +60,9 @@ else() OpenGLES) endif() -# Include dir -find_path(OPENGLES3_INCLUDE_DIR NAMES - GLES3/gl3.h - - # iOS - ES3/gl.h) - include(FindPackageHandleStandardArgs) find_package_handle_standard_args("OpenGLES3" DEFAULT_MSG - OPENGLES3_LIBRARY - OPENGLES3_INCLUDE_DIR) + OPENGLES3_LIBRARY) if(NOT TARGET OpenGLES3::OpenGLES3) # Work around BUGGY framework support on macOS. Do this also in case of @@ -83,9 +78,6 @@ if(NOT TARGET OpenGLES3::OpenGLES3) IMPORTED_LOCATION ${OPENGLES3_LIBRARY}) endif() - set_property(TARGET OpenGLES3::OpenGLES3 PROPERTY - INTERFACE_INCLUDE_DIRECTORIES ${OPENGLES3_INCLUDE_DIR}) - # Emscripten needs a special flag to use WebGL 2. CMake 3.13 allows to set # this via INTERFACE_LINK_OPTIONS, for older versions we modify the global # CMAKE_EXE_LINKER_FLAGS inside FindMagnum.cmake.