[core] Make the OpenGL implementation platform specific
Split the headers, so each platform includes the most appropriated header.
This commit is contained in:
@@ -74,6 +74,7 @@ macro(mbgl_platform_core)
|
||||
|
||||
target_include_directories(mbgl-core
|
||||
PUBLIC platform/default
|
||||
PRIVATE platform/android
|
||||
)
|
||||
|
||||
target_add_mason_package(mbgl-core PUBLIC nunicode)
|
||||
@@ -346,6 +347,10 @@ macro(mbgl_platform_test)
|
||||
platform/linux/src/headless_display_egl.cpp
|
||||
)
|
||||
|
||||
target_include_directories(mbgl-test
|
||||
PRIVATE platform/android
|
||||
)
|
||||
|
||||
target_compile_options(mbgl-test
|
||||
PRIVATE -fvisibility=hidden
|
||||
)
|
||||
|
||||
5
platform/android/mbgl/gl/gl_impl.hpp
Normal file
5
platform/android/mbgl/gl/gl_impl.hpp
Normal file
@@ -0,0 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
#define GL_GLEXT_PROTOTYPES
|
||||
#include <GLES2/gl2.h>
|
||||
#include <GLES2/gl2ext.h>
|
||||
16
platform/darwin/mbgl/gl/gl_impl.hpp
Normal file
16
platform/darwin/mbgl/gl/gl_impl.hpp
Normal file
@@ -0,0 +1,16 @@
|
||||
#pragma once
|
||||
|
||||
#include "TargetConditionals.h"
|
||||
#if TARGET_OS_IPHONE
|
||||
#include <OpenGLES/ES2/gl.h>
|
||||
#include <OpenGLES/ES2/glext.h>
|
||||
#elif TARGET_IPHONE_SIMULATOR
|
||||
#include <OpenGLES/ES2/gl.h>
|
||||
#include <OpenGLES/ES2/glext.h>
|
||||
#elif TARGET_OS_MAC
|
||||
#include <OpenGL/OpenGL.h>
|
||||
#include <OpenGL/gl.h>
|
||||
#include <OpenGL/glext.h>
|
||||
#else
|
||||
#error Unsupported Apple platform
|
||||
#endif
|
||||
@@ -76,6 +76,7 @@ macro(mbgl_platform_core)
|
||||
|
||||
target_include_directories(mbgl-core
|
||||
PRIVATE platform/default
|
||||
PRIVATE platform/linux
|
||||
)
|
||||
|
||||
target_add_mason_package(mbgl-core PUBLIC nunicode)
|
||||
@@ -149,6 +150,10 @@ macro(mbgl_platform_test)
|
||||
PRIVATE platform/default/mbgl/test/main.cpp
|
||||
)
|
||||
|
||||
target_include_directories(mbgl-test
|
||||
PRIVATE platform/linux
|
||||
)
|
||||
|
||||
set_source_files_properties(
|
||||
platform/default/mbgl/test/main.cpp
|
||||
PROPERTIES
|
||||
|
||||
11
platform/linux/mbgl/gl/gl_impl.hpp
Normal file
11
platform/linux/mbgl/gl/gl_impl.hpp
Normal file
@@ -0,0 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
#if MBGL_USE_GLES2
|
||||
#define GL_GLEXT_PROTOTYPES
|
||||
#include <GLES2/gl2.h>
|
||||
#include <GLES2/gl2ext.h>
|
||||
#else
|
||||
#define GL_GLEXT_PROTOTYPES
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glext.h>
|
||||
#endif
|
||||
@@ -133,6 +133,10 @@ macro(mbgl_platform_test)
|
||||
PRIVATE platform/default/mbgl/test/main.cpp
|
||||
)
|
||||
|
||||
target_include_directories(mbgl-test
|
||||
PRIVATE platform/macos
|
||||
)
|
||||
|
||||
set_source_files_properties(
|
||||
platform/default/mbgl/test/main.cpp
|
||||
PROPERTIES
|
||||
|
||||
@@ -20,6 +20,7 @@ macro(mbgl_platform_core)
|
||||
|
||||
target_include_directories(mbgl-core
|
||||
PUBLIC platform/default
|
||||
PRIVATE platform/qt
|
||||
PRIVATE platform/qt/include
|
||||
)
|
||||
|
||||
@@ -69,6 +70,10 @@ macro(mbgl_platform_test)
|
||||
PRIVATE platform/qt/test/qmapboxgl.test.cpp
|
||||
)
|
||||
|
||||
target_include_directories(mbgl-test
|
||||
PRIVATE platform/qt
|
||||
)
|
||||
|
||||
set_source_files_properties(
|
||||
platform/qt/test/main.cpp
|
||||
PROPERTIES COMPILE_FLAGS -DWORK_DIRECTORY="${CMAKE_SOURCE_DIR}"
|
||||
|
||||
21
platform/qt/mbgl/gl/gl_impl.hpp
Normal file
21
platform/qt/mbgl/gl/gl_impl.hpp
Normal file
@@ -0,0 +1,21 @@
|
||||
#pragma once
|
||||
|
||||
#include <QtGlobal>
|
||||
|
||||
// Qt4
|
||||
#if QT_VERSION < 0x050000
|
||||
#if MBGL_USE_GLES2
|
||||
#define GL_GLEXT_PROTOTYPES
|
||||
#include <GLES2/gl2.h>
|
||||
#include <GLES2/gl2ext.h>
|
||||
#else
|
||||
#define GL_GLEXT_PROTOTYPES
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glext.h>
|
||||
#endif
|
||||
|
||||
// Qt5
|
||||
#else
|
||||
#define GL_GLEXT_PROTOTYPES
|
||||
#include <QtGui/qopengl.h>
|
||||
#endif
|
||||
@@ -1,36 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include <mbgl/gl/gl_impl.hpp>
|
||||
|
||||
#include <stdexcept>
|
||||
#include <limits>
|
||||
|
||||
#if __APPLE__
|
||||
#include "TargetConditionals.h"
|
||||
#if TARGET_OS_IPHONE
|
||||
#include <OpenGLES/ES2/gl.h>
|
||||
#include <OpenGLES/ES2/glext.h>
|
||||
#elif TARGET_IPHONE_SIMULATOR
|
||||
#include <OpenGLES/ES2/gl.h>
|
||||
#include <OpenGLES/ES2/glext.h>
|
||||
#elif TARGET_OS_MAC
|
||||
#include <OpenGL/OpenGL.h>
|
||||
#include <OpenGL/gl.h>
|
||||
#include <OpenGL/glext.h>
|
||||
#else
|
||||
#error Unsupported Apple platform
|
||||
#endif
|
||||
#elif __ANDROID__ || MBGL_USE_GLES2
|
||||
#define GL_GLEXT_PROTOTYPES
|
||||
#include <GLES2/gl2.h>
|
||||
#include <GLES2/gl2ext.h>
|
||||
#elif __QT__ && QT_VERSION >= 0x050000
|
||||
#define GL_GLEXT_PROTOTYPES
|
||||
#include <QtGui/qopengl.h>
|
||||
#else
|
||||
#define GL_GLEXT_PROTOTYPES
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glext.h>
|
||||
#endif
|
||||
|
||||
namespace mbgl {
|
||||
namespace gl {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user