reactos/dll/opengl/opengl32/CMakeLists.txt
Jérôme Gardou 23373acbb9 [CMAKE] Use modules instead of shared libraries
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.

On my system, this reduces the configure-time by a factor of two.
2019-04-06 17:43:38 +02:00

50 lines
1.2 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 MODULE
${SOURCE}
${opengl32_asm}
${CMAKE_CURRENT_BINARY_DIR}/opengl32.def)
target_link_libraries(opengl32
wine
${PSEH_LIB}
mesa
)
set_module_type(opengl32 win32dll)
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)