| include(../common/gles_common.pri) |
| |
| TARGET = $$qtLibraryTarget($${LIBQTANGLE_NAME}) |
| |
| DEF_FILE_TARGET = $${TARGET} |
| |
| !build_pass { |
| # Merge libGLESv2 and libEGL .def files located under $$ANGLE_DIR into QtANGLE$${SUFFIX}.def |
| DEF_FILES = \ |
| libGLESv2/libGLESv2 \ |
| libEGL/libEGL |
| |
| SUFFIX = |
| for (DEBUG_RELEASE, $$list(0 1)) { |
| DEF_MERGED = \ |
| "LIBRARY $${LIBQTANGLE_NAME}$$SUFFIX" \ |
| EXPORTS |
| mingw: SUFFIX = $${SUFFIX}_mingw32 |
| PASS = 0 |
| MAX_ORDINAL = 0 |
| |
| for (DEF_FILE, DEF_FILES) { |
| DEF_FILE_PATH = $$ANGLE_DIR/src/$$DEF_FILE$${SUFFIX}.def |
| DEF_SRC = $$cat($$DEF_FILE_PATH, lines) |
| DEF_MERGED += \ |
| ";" \ |
| "; Generated from:" \ |
| "; $$DEF_FILE_PATH" |
| |
| for (line, DEF_SRC) { |
| !contains(line, "(LIBRARY.*|EXPORTS)") { |
| LINESPLIT = $$split(line, @) |
| !count(LINESPLIT, 1) { |
| equals(PASS, 1) { |
| # In the second .def file we must allocate new ordinals in order |
| # to not clash with the ordinals from the first file. We then start off |
| # from MAX_ORDINAL + 1 and increase sequentially |
| MAX_ORDINAL = $$num_add($$MAX_ORDINAL, 1) |
| line = $$section(line, @, 0, -2)@$$MAX_ORDINAL |
| } else { |
| ORDINAL = $$last(LINESPLIT) |
| greaterThan(ORDINAL, $$MAX_ORDINAL): \ |
| MAX_ORDINAL = $$ORDINAL |
| } |
| } |
| DEF_MERGED += $$line |
| } |
| } |
| PASS = 1 |
| } |
| write_file($${LIBQTANGLE_NAME}$${SUFFIX}.def, DEF_MERGED)|error() |
| SUFFIX = "d" |
| } |
| } |
| |
| SOURCES += $$ANGLE_DIR/src/libEGL/libEGL.cpp |
| |
| !static { |
| DEF_FILE = $$PWD/$${DEF_FILE_TARGET}.def |
| mingw: equals(QT_ARCH, i386): DEF_FILE = $$PWD/$${DEF_FILE_TARGET}_mingw32.def |
| } else { |
| DEFINES += DllMain=DllMain_ANGLE # prevent symbol from conflicting with the user's DllMain |
| } |
| |
| egl_headers.files = \ |
| $$ANGLE_DIR/include/EGL/egl.h \ |
| $$ANGLE_DIR/include/EGL/eglext.h \ |
| $$ANGLE_DIR/include/EGL/eglplatform.h |
| egl_headers.path = $$[QT_INSTALL_HEADERS]/QtANGLE/EGL |
| INSTALLS += egl_headers |