add_definitions( -DUSE_EXTERNAL_DXTN_LIB=1 -DBUILD_GL32 -DWIN32 -DUSE_3DNOW_ASM -D_DLL -D__USE_CRTIMP) if(ARCH MATCHES i386) add_definitions( -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_SSE_ASM) else() add_definitions(-DGL_NO_STDCALL) endif(ARCH MATCHES i386) if(NOT MSVC) set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS_INIT} -Wl,--enable-stdcall-fixup") endif() include_directories( BEFORE include src src/main src/glapi src/math src/tnl src/shader src/shader/grammar src/shader/slang src/shader/slang/OSDependent/Linux src/shader/slang/OGLCompilersDLL) list(APPEND SOURCE src/drivers/common/driverfuncs.c src/drivers/windows/gdi/wgl.c src/drivers/windows/gdi/wmesa.c src/drivers/windows/icd/icd.c src/glapi/glapi.c src/glapi/glapi_getproc.c src/glapi/glthread.c src/main/accum.c src/main/api_arrayelt.c src/main/api_exec.c src/main/api_loopback.c src/main/api_noop.c src/main/api_validate.c src/main/arrayobj.c src/main/attrib.c src/main/blend.c src/main/bufferobj.c src/main/buffers.c src/main/clear.c src/main/clip.c src/main/colortab.c src/main/context.c src/main/convolve.c src/main/debug.c src/main/depth.c src/main/depthstencil.c src/main/dispatch.c src/main/dlist.c src/main/dlopen.c src/main/drawpix.c src/main/enable.c src/main/enums.c src/main/eval.c src/main/execmem.c src/main/extensions.c src/main/fbobject.c src/main/feedback.c src/main/ffvertex_prog.c src/main/fog.c src/main/framebuffer.c src/main/get.c src/main/getstring.c src/main/hash.c src/main/hint.c src/main/histogram.c src/main/image.c src/main/imports.c src/main/light.c src/main/lines.c src/main/matrix.c src/main/mipmap.c src/main/mm.c src/main/multisample.c src/main/pixel.c src/main/pixelstore.c src/main/points.c src/main/polygon.c src/main/queryobj.c src/main/rastpos.c src/main/rbadaptors.c src/main/readpix.c src/main/renderbuffer.c src/main/scissor.c src/main/shaders.c src/main/state.c src/main/stencil.c src/main/texcompress.c src/main/texcompress_fxt1.c src/main/texcompress_s3tc.c src/main/texenv.c src/main/texenvprogram.c src/main/texformat.c src/main/texgen.c src/main/teximage.c src/main/texobj.c src/main/texparam.c src/main/texrender.c src/main/texstate.c src/main/texstore.c src/main/varray.c src/main/vtxfmt.c src/math/m_debug_clip.c src/math/m_debug_norm.c src/math/m_debug_xform.c src/math/m_eval.c src/math/m_matrix.c src/math/m_translate.c src/math/m_vector.c src/math/m_xform.c src/shader/arbprogparse.c src/shader/arbprogram.c src/shader/atifragshader.c src/shader/grammar/grammar_mesa.c src/shader/nvfragparse.c src/shader/nvprogram.c src/shader/nvvertparse.c src/shader/program.c src/shader/programopt.c src/shader/prog_cache.c src/shader/prog_debug.c src/shader/prog_execute.c src/shader/prog_instruction.c src/shader/prog_noise.c src/shader/prog_parameter.c src/shader/prog_print.c src/shader/prog_statevars.c src/shader/prog_uniform.c src/shader/shader_api.c src/shader/slang/slang_builtin.c src/shader/slang/slang_codegen.c src/shader/slang/slang_compile.c src/shader/slang/slang_compile_function.c src/shader/slang/slang_compile_operation.c src/shader/slang/slang_compile_struct.c src/shader/slang/slang_compile_variable.c src/shader/slang/slang_emit.c src/shader/slang/slang_ir.c src/shader/slang/slang_label.c src/shader/slang/slang_link.c src/shader/slang/slang_log.c src/shader/slang/slang_mem.c src/shader/slang/slang_preprocess.c src/shader/slang/slang_print.c src/shader/slang/slang_simplify.c src/shader/slang/slang_storage.c src/shader/slang/slang_typeinfo.c src/shader/slang/slang_utility.c src/shader/slang/slang_vartable.c src/swrast/s_aaline.c src/swrast/s_aatriangle.c src/swrast/s_accum.c src/swrast/s_alpha.c src/swrast/s_atifragshader.c src/swrast/s_bitmap.c src/swrast/s_blend.c src/swrast/s_blit.c src/swrast/s_buffers.c src/swrast/s_context.c src/swrast/s_copypix.c src/swrast/s_depth.c src/swrast/s_drawpix.c src/swrast/s_feedback.c src/swrast/s_fog.c src/swrast/s_fragprog.c src/swrast/s_imaging.c src/swrast/s_lines.c src/swrast/s_logic.c src/swrast/s_masking.c src/swrast/s_points.c src/swrast/s_readpix.c src/swrast/s_span.c src/swrast/s_stencil.c src/swrast/s_texcombine.c src/swrast/s_texfilter.c src/swrast/s_texstore.c src/swrast/s_triangle.c src/swrast/s_zoom.c src/swrast_setup/ss_context.c src/swrast_setup/ss_triangle.c src/tnl/t_context.c src/tnl/t_draw.c src/tnl/t_pipeline.c src/tnl/t_rasterpos.c src/tnl/t_vb_cull.c src/tnl/t_vb_fog.c src/tnl/t_vb_light.c src/tnl/t_vb_normals.c src/tnl/t_vb_points.c src/tnl/t_vb_program.c src/tnl/t_vb_render.c src/tnl/t_vb_texgen.c src/tnl/t_vb_texmat.c src/tnl/t_vb_vertex.c src/tnl/t_vertex.c src/tnl/t_vertex_generic.c src/tnl/t_vp_build.c src/vbo/vbo_context.c src/vbo/vbo_exec.c src/vbo/vbo_exec_api.c src/vbo/vbo_exec_array.c src/vbo/vbo_exec_draw.c src/vbo/vbo_exec_eval.c src/vbo/vbo_rebase.c src/vbo/vbo_save.c src/vbo/vbo_save_api.c src/vbo/vbo_save_draw.c src/vbo/vbo_save_loopback.c src/vbo/vbo_split.c src/vbo/vbo_split_copy.c src/vbo/vbo_split_inplace.c src/drivers/windows/icd/mesa.def) set_source_files_properties(src/drivers/windows/icd/mesa.def PROPERTIES EXTERNAL_OBJECT TRUE) if(ARCH MATCHES i386) list(APPEND SOURCE src/tnl/t_vertex_sse.c src/x86/3dnow.c src/x86/3dnow_normal.S src/x86/3dnow_xform1.S src/x86/3dnow_xform2.S src/x86/3dnow_xform3.S src/x86/3dnow_xform4.S src/x86/common_x86.c src/x86/common_x86_asm.S src/x86/glapi_x86.S src/x86/mmx_blend.S src/x86/read_rgba_span_x86.S src/x86/sse_normal.S src/x86/sse_xform1.S src/x86/sse_xform2.S src/x86/sse_xform3.S src/x86/sse_xform4.S src/x86/sse.c src/x86/x86.c src/x86/x86_cliptest.S src/x86/x86_xform2.S src/x86/x86_xform3.S src/x86/x86_xform4.S src/x86/rtasm/x86sse.c) else() list(APPEND SOURCE src/x86-64/x86-64.c src/x86-64/xform4.S) endif(ARCH MATCHES i386) add_library(mesa32 SHARED ${SOURCE}) set_entrypoint(mesa32 0) add_importlibs(mesa32 gdi32 user32 msvcrt kernel32 ntdll) add_dependencies(mesa32 psdk buildno_header) add_cab_target(mesa32 1)