mirror of
https://github.com/reactos/reactos.git
synced 2024-09-03 17:19:20 +00:00
65 lines
1.5 KiB
CMake
65 lines
1.5 KiB
CMake
|
|
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()
|
|
|
|
if(CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
|
target_link_libraries(opengl32 mingwex)
|
|
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)
|