spec2def(opengl32.dll opengl32.spec ADD_IMPORTLIB) include_directories(../mesa) add_definitions( -D_GDI32_ # prevent gl* being declared __declspec(dllimport) in MS headers -DBUILD_GL32 # declare gl* as __declspec(dllexport) in Mesa headers -D_GLAPI_NO_EXPORTS # prevent _glapi_* from being declared __declspec(dllimport) ) if(OPENGL32_USE_TLS) add_definitions(-DOPENGL32_USE_TLS) endif() list(APPEND SOURCE apistubs.c dllmain.c icdload.c swimpl.c wgl.c wgl_font.c opengl32.h ${CMAKE_CURRENT_BINARY_DIR}/opengl32_stubs.c) set_source_files_properties(gcrt0.o libgmon.a PROPERTIES EXTERNAL_OBJECT TRUE) if(ARCH STREQUAL "i386") # Optimisation: use asm trampolines to ICD provided functions add_asm_files(opengl32_asm glapi_x86.s ) endif() add_library(opengl32 SHARED ${SOURCE} ${opengl32_asm} ${CMAKE_CURRENT_BINARY_DIR}/opengl32.def) target_link_libraries(opengl32 wine ${PSEH_LIB} mesa_drv_common mesa_swrast mesa_swrast_setup mesa_tnl mesa_main mesa_vbo mesa_math ) if((ARCH STREQUAL "i386") AND (NOT MSVC)) target_link_libraries(opengl32 mesa_x86) endif() set_module_type(opengl32 win32dll HOTPATCHABLE) add_importlibs(opengl32 gdi32 user32 advapi32 msvcrt kernel32 ntdll) add_pch(opengl32 opengl32.h SOURCE) add_cd_file(TARGET opengl32 DESTINATION reactos/system32 FOR all)