f2a4c7bff02bad70cea7e7d4c2da8bbabbbb7dd1
[reactos.git] / dll / 3rdparty / mesa32 / CMakeLists.txt
1
2 add_definitions(
3 -DUSE_EXTERNAL_DXTN_LIB=1
4 -DBUILD_GL32
5 -DWIN32
6 -D_WINDOWS)
7
8 add_definitions(-D_DLL -D__USE_CRTIMP)
9
10 if(ARCH MATCHES i386)
11 add_definitions(
12 -DUSE_X86_ASM
13 -DUSE_MMX_ASM
14 -DUSE_SSE_ASM)
15 else()
16 add_definitions(-DGL_NO_STDCALL)
17 endif(ARCH MATCHES i386)
18
19 include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/include)
20 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src)
21 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/main)
22 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/glapi)
23 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/math)
24 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/tnl)
25 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/shader)
26 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/shader/grammar)
27 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/shader/slang)
28 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/shader/slang/OSDependent/Linux)
29 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/shader/slang/OGLCompilersDLL)
30
31 list(APPEND SOURCE
32 src/drivers/common/driverfuncs.c
33 src/drivers/windows/gdi/wgl.c
34 src/drivers/windows/gdi/wmesa.c
35 src/drivers/windows/icd/icd.c
36 src/glapi/glapi.c
37 src/glapi/glapi_getproc.c
38 src/glapi/glthread.c
39 src/main/accum.c
40 src/main/api_arrayelt.c
41 src/main/api_exec.c
42 src/main/api_loopback.c
43 src/main/api_noop.c
44 src/main/api_validate.c
45 src/main/arrayobj.c
46 src/main/attrib.c
47 src/main/blend.c
48 src/main/bufferobj.c
49 src/main/buffers.c
50 src/main/clear.c
51 src/main/clip.c
52 src/main/colortab.c
53 src/main/context.c
54 src/main/convolve.c
55 src/main/debug.c
56 src/main/depth.c
57 src/main/depthstencil.c
58 src/main/dispatch.c
59 src/main/dlist.c
60 src/main/dlopen.c
61 src/main/drawpix.c
62 src/main/enable.c
63 src/main/enums.c
64 src/main/eval.c
65 src/main/execmem.c
66 src/main/extensions.c
67 src/main/fbobject.c
68 src/main/feedback.c
69 src/main/ffvertex_prog.c
70 src/main/fog.c
71 src/main/framebuffer.c
72 src/main/get.c
73 src/main/getstring.c
74 src/main/hash.c
75 src/main/hint.c
76 src/main/histogram.c
77 src/main/image.c
78 src/main/imports.c
79 src/main/light.c
80 src/main/lines.c
81 src/main/matrix.c
82 src/main/mipmap.c
83 src/main/mm.c
84 src/main/multisample.c
85 src/main/pixel.c
86 src/main/pixelstore.c
87 src/main/points.c
88 src/main/polygon.c
89 src/main/queryobj.c
90 src/main/rastpos.c
91 src/main/rbadaptors.c
92 src/main/readpix.c
93 src/main/renderbuffer.c
94 src/main/scissor.c
95 src/main/shaders.c
96 src/main/state.c
97 src/main/stencil.c
98 src/main/texcompress.c
99 src/main/texcompress_fxt1.c
100 src/main/texcompress_s3tc.c
101 src/main/texenv.c
102 src/main/texenvprogram.c
103 src/main/texformat.c
104 src/main/texgen.c
105 src/main/teximage.c
106 src/main/texobj.c
107 src/main/texparam.c
108 src/main/texrender.c
109 src/main/texstate.c
110 src/main/texstore.c
111 src/main/varray.c
112 src/main/vtxfmt.c
113 src/math/m_debug_clip.c
114 src/math/m_debug_norm.c
115 src/math/m_debug_xform.c
116 src/math/m_eval.c
117 src/math/m_matrix.c
118 src/math/m_translate.c
119 src/math/m_vector.c
120 src/math/m_xform.c
121 src/shader/arbprogparse.c
122 src/shader/arbprogram.c
123 src/shader/atifragshader.c
124 src/shader/grammar/grammar_mesa.c
125 src/shader/nvfragparse.c
126 src/shader/nvprogram.c
127 src/shader/nvvertparse.c
128 src/shader/program.c
129 src/shader/programopt.c
130 src/shader/prog_cache.c
131 src/shader/prog_debug.c
132 src/shader/prog_execute.c
133 src/shader/prog_instruction.c
134 src/shader/prog_noise.c
135 src/shader/prog_parameter.c
136 src/shader/prog_print.c
137 src/shader/prog_statevars.c
138 src/shader/prog_uniform.c
139 src/shader/shader_api.c
140 src/shader/slang/slang_builtin.c
141 src/shader/slang/slang_codegen.c
142 src/shader/slang/slang_compile.c
143 src/shader/slang/slang_compile_function.c
144 src/shader/slang/slang_compile_operation.c
145 src/shader/slang/slang_compile_struct.c
146 src/shader/slang/slang_compile_variable.c
147 src/shader/slang/slang_emit.c
148 src/shader/slang/slang_ir.c
149 src/shader/slang/slang_label.c
150 src/shader/slang/slang_link.c
151 src/shader/slang/slang_log.c
152 src/shader/slang/slang_mem.c
153 src/shader/slang/slang_preprocess.c
154 src/shader/slang/slang_print.c
155 src/shader/slang/slang_simplify.c
156 src/shader/slang/slang_storage.c
157 src/shader/slang/slang_typeinfo.c
158 src/shader/slang/slang_utility.c
159 src/shader/slang/slang_vartable.c
160 src/swrast/s_aaline.c
161 src/swrast/s_aatriangle.c
162 src/swrast/s_accum.c
163 src/swrast/s_alpha.c
164 src/swrast/s_atifragshader.c
165 src/swrast/s_bitmap.c
166 src/swrast/s_blend.c
167 src/swrast/s_blit.c
168 src/swrast/s_buffers.c
169 src/swrast/s_context.c
170 src/swrast/s_copypix.c
171 src/swrast/s_depth.c
172 src/swrast/s_drawpix.c
173 src/swrast/s_feedback.c
174 src/swrast/s_fog.c
175 src/swrast/s_fragprog.c
176 src/swrast/s_imaging.c
177 src/swrast/s_lines.c
178 src/swrast/s_logic.c
179 src/swrast/s_masking.c
180 src/swrast/s_points.c
181 src/swrast/s_readpix.c
182 src/swrast/s_span.c
183 src/swrast/s_stencil.c
184 src/swrast/s_texcombine.c
185 src/swrast/s_texfilter.c
186 src/swrast/s_texstore.c
187 src/swrast/s_triangle.c
188 src/swrast/s_zoom.c
189 src/swrast_setup/ss_context.c
190 src/swrast_setup/ss_triangle.c
191 src/tnl/t_context.c
192 src/tnl/t_draw.c
193 src/tnl/t_pipeline.c
194 src/tnl/t_rasterpos.c
195 src/tnl/t_vb_cull.c
196 src/tnl/t_vb_fog.c
197 src/tnl/t_vb_light.c
198 src/tnl/t_vb_normals.c
199 src/tnl/t_vb_points.c
200 src/tnl/t_vb_program.c
201 src/tnl/t_vb_render.c
202 src/tnl/t_vb_texgen.c
203 src/tnl/t_vb_texmat.c
204 src/tnl/t_vb_vertex.c
205 src/tnl/t_vertex.c
206 src/tnl/t_vertex_generic.c
207 src/tnl/t_vp_build.c
208 src/vbo/vbo_context.c
209 src/vbo/vbo_exec.c
210 src/vbo/vbo_exec_api.c
211 src/vbo/vbo_exec_array.c
212 src/vbo/vbo_exec_draw.c
213 src/vbo/vbo_exec_eval.c
214 src/vbo/vbo_rebase.c
215 src/vbo/vbo_save.c
216 src/vbo/vbo_save_api.c
217 src/vbo/vbo_save_draw.c
218 src/vbo/vbo_save_loopback.c
219 src/vbo/vbo_split.c
220 src/vbo/vbo_split_copy.c
221 src/vbo/vbo_split_inplace.c)
222
223 if(ARCH MATCHES i386)
224 list(APPEND SOURCE
225 src/tnl/t_vertex_sse.c
226 src/x86/3dnow.c
227 src/x86/3dnow_normal.S
228 src/x86/3dnow_xform1.S
229 src/x86/3dnow_xform2.S
230 src/x86/3dnow_xform3.S
231 src/x86/3dnow_xform4.S
232 src/x86/common_x86.c
233 src/x86/common_x86_asm.S
234 src/x86/glapi_x86.S
235 src/x86/mmx_blend.S
236 src/x86/read_rgba_span_x86.S
237 src/x86/sse_normal.S
238 src/x86/sse_xform1.S
239 src/x86/sse_xform2.S
240 src/x86/sse_xform3.S
241 src/x86/sse_xform4.S
242 src/x86/sse.c
243 src/x86/x86.c
244 src/x86/x86_cliptest.S
245 src/x86/x86_xform2.S
246 src/x86/x86_xform3.S
247 src/x86/x86_xform4.S
248 src/x86/rtasm/x86sse.c)
249 else()
250 list(APPEND SOURCE src/x86-64/x86-64.c src/x86-64/xform4.S)
251 endif(ARCH MATCHES i386)
252
253 add_library(mesa32 SHARED ${SOURCE})
254
255 set_entrypoint(mesa32 0)
256
257 if (NOT MSVC)
258 # this hides all warnings, is this really wanted ?
259 #add_definitions(-w)
260
261 endif(NOT MSVC)
262
263
264 target_link_libraries(mesa32 ${CMAKE_CURRENT_SOURCE_DIR}/src/drivers/windows/icd/mesa.def)
265
266 add_importlibs(mesa32 gdi32 user32 msvcrt kernel32 ntdll)
267
268 add_dependencies(mesa32 psdk buildno_header)