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