|
1 TARGET = QtOpenGL |
|
2 QPRO_PWD = $$PWD |
|
3 QT = core gui |
|
4 DEFINES += QT_BUILD_OPENGL_LIB |
|
5 DEFINES += QT_NO_USING_NAMESPACE |
|
6 win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x63000000 |
|
7 solaris-cc*:QMAKE_CXXFLAGS_RELEASE -= -O2 |
|
8 |
|
9 unix:QMAKE_PKGCONFIG_REQUIRES = QtCore QtGui |
|
10 |
|
11 include(../qbase.pri) |
|
12 |
|
13 !win32:!embedded:!mac:CONFIG += x11 |
|
14 contains(QT_CONFIG, opengl):CONFIG += opengl |
|
15 contains(QT_CONFIG, opengles1):CONFIG += opengles1 |
|
16 contains(QT_CONFIG, opengles1cl):CONFIG += opengles1cl |
|
17 contains(QT_CONFIG, opengles2):CONFIG += opengles2 |
|
18 |
|
19 contains(QT_CONFIG, opengles.*) { |
|
20 for(p, QMAKE_LIBDIR_EGL) { |
|
21 exists($$p):LIBS_PRIVATE += -L$$p |
|
22 } |
|
23 !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL |
|
24 !isEmpty(QMAKE_LIBS_EGL): LIBS_PRIVATE += $$QMAKE_LIBS_EGL |
|
25 } |
|
26 |
|
27 HEADERS += qgl.h \ |
|
28 qgl_p.h \ |
|
29 qglcolormap.h \ |
|
30 qglpixelbuffer.h \ |
|
31 qglpixelbuffer_p.h \ |
|
32 qglframebufferobject.h \ |
|
33 qglframebufferobject_p.h \ |
|
34 qglextensions_p.h \ |
|
35 qglpaintdevice_p.h \ |
|
36 |
|
37 |
|
38 SOURCES += qgl.cpp \ |
|
39 qglcolormap.cpp \ |
|
40 qglpixelbuffer.cpp \ |
|
41 qglframebufferobject.cpp \ |
|
42 qglextensions.cpp \ |
|
43 qglpaintdevice.cpp \ |
|
44 |
|
45 |
|
46 !contains(QT_CONFIG, opengles2) { |
|
47 HEADERS += qpaintengine_opengl_p.h |
|
48 SOURCES += qpaintengine_opengl.cpp |
|
49 } |
|
50 |
|
51 !contains(QT_CONFIG, opengles1):!contains(QT_CONFIG, opengles1cl) { |
|
52 HEADERS += qglshaderprogram.h \ |
|
53 qglpixmapfilter_p.h \ |
|
54 qgraphicsshadereffect_p.h \ |
|
55 qgraphicssystem_gl_p.h \ |
|
56 qwindowsurface_gl_p.h \ |
|
57 qpixmapdata_gl_p.h \ |
|
58 gl2paintengineex/qglgradientcache_p.h \ |
|
59 gl2paintengineex/qglengineshadermanager_p.h \ |
|
60 gl2paintengineex/qgl2pexvertexarray_p.h \ |
|
61 gl2paintengineex/qpaintengineex_opengl2_p.h \ |
|
62 gl2paintengineex/qglengineshadersource_p.h \ |
|
63 gl2paintengineex/qglcustomshaderstage_p.h \ |
|
64 gl2paintengineex/qtriangulatingstroker_p.h |
|
65 |
|
66 SOURCES += qglshaderprogram.cpp \ |
|
67 qglpixmapfilter.cpp \ |
|
68 qgraphicsshadereffect.cpp \ |
|
69 qgraphicssystem_gl.cpp \ |
|
70 qwindowsurface_gl.cpp \ |
|
71 qpixmapdata_gl.cpp \ |
|
72 gl2paintengineex/qglgradientcache.cpp \ |
|
73 gl2paintengineex/qglengineshadermanager.cpp \ |
|
74 gl2paintengineex/qgl2pexvertexarray.cpp \ |
|
75 gl2paintengineex/qpaintengineex_opengl2.cpp \ |
|
76 gl2paintengineex/qglcustomshaderstage.cpp \ |
|
77 gl2paintengineex/qtriangulatingstroker.cpp |
|
78 |
|
79 } |
|
80 |
|
81 x11 { |
|
82 contains(QT_CONFIG, opengles1)|contains(QT_CONFIG, opengles1cl)|contains(QT_CONFIG, opengles2) { |
|
83 SOURCES += qgl_x11egl.cpp \ |
|
84 qglpixelbuffer_egl.cpp \ |
|
85 qgl_egl.cpp \ |
|
86 qpixmapdata_x11gl_egl.cpp \ |
|
87 qwindowsurface_x11gl.cpp |
|
88 |
|
89 HEADERS += qgl_egl_p.h \ |
|
90 qpixmapdata_x11gl_p.h \ |
|
91 qwindowsurface_x11gl_p.h |
|
92 |
|
93 } else { |
|
94 SOURCES += qgl_x11.cpp \ |
|
95 qglpixelbuffer_x11.cpp |
|
96 } |
|
97 |
|
98 contains(QT_CONFIG, fontconfig) { |
|
99 contains(QT_CONFIG, system-freetype) { |
|
100 embedded:CONFIG += opentype |
|
101 # pull in the proper freetype2 include directory |
|
102 include($$QT_SOURCE_TREE/config.tests/unix/freetype/freetype.pri) |
|
103 LIBS_PRIVATE += -lfreetype |
|
104 } else { |
|
105 ### Note: how does this compile with a non-system freetype? |
|
106 # This probably doesn't compile |
|
107 } |
|
108 } else { |
|
109 DEFINES *= QT_NO_FREETYPE |
|
110 } |
|
111 |
|
112 LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD |
|
113 } |
|
114 |
|
115 mac { |
|
116 OBJECTIVE_SOURCES += qgl_mac.mm \ |
|
117 qglpixelbuffer_mac.mm |
|
118 LIBS_PRIVATE += -framework AppKit -framework Carbon |
|
119 } |
|
120 win32:!wince*: { |
|
121 SOURCES += qgl_win.cpp \ |
|
122 qglpixelbuffer_win.cpp |
|
123 } |
|
124 wince*: { |
|
125 SOURCES += qgl_wince.cpp \ |
|
126 qglpixelbuffer_egl.cpp \ |
|
127 qgl_egl.cpp |
|
128 |
|
129 HEADERS += qgl_cl_p.h \ |
|
130 qgl_egl_p.h \ |
|
131 } |
|
132 |
|
133 embedded { |
|
134 SOURCES += qgl_qws.cpp \ |
|
135 qglpixelbuffer_egl.cpp \ |
|
136 qglscreen_qws.cpp \ |
|
137 qglwindowsurface_qws.cpp \ |
|
138 qgl_egl.cpp |
|
139 |
|
140 HEADERS += qglscreen_qws.h \ |
|
141 qglwindowsurface_qws_p.h \ |
|
142 qgl_egl_p.h |
|
143 |
|
144 contains(QT_CONFIG, fontconfig) { |
|
145 include($$QT_SOURCE_TREE/config.tests/unix/freetype/freetype.pri) |
|
146 } else { |
|
147 DEFINES *= QT_NO_FREETYPE |
|
148 } |
|
149 } |
|
150 |
|
151 INCLUDEPATH += ../3rdparty/harfbuzz/src |
|
152 |
|
153 wince*: { |
|
154 contains(QT_CONFIG,opengles1) { |
|
155 QMAKE_LIBS += "libGLES_CM.lib" |
|
156 } |
|
157 contains(QT_CONFIG,opengles1cl) { |
|
158 QMAKE_LIBS += "libGLES_CL.lib" |
|
159 } |
|
160 contains(QT_CONFIG,opengles2) { |
|
161 QMAKE_LIBS += "libGLESv2.lib" |
|
162 } |
|
163 |
|
164 } else { |
|
165 LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL |
|
166 LIBS += $$QMAKE_LFLAGS_OPENGL |
|
167 } |