[SHELL32] Remove 2 redundant initializations
[reactos.git] / win32ss / gdi / gdi32 / CMakeLists.txt
index 9ee1875..37f66f8 100644 (file)
@@ -1,4 +1,8 @@
 
+add_subdirectory(wine)
+
+add_definitions(-DLANGPACK)
+
 include_directories(
     include
     ${REACTOS_SOURCE_DIR}/win32ss/include)
@@ -14,21 +18,20 @@ list(APPEND SOURCE
     main/dllmain.c
     misc/heap.c
     misc/gdientry.c
-    #misc/hacks.c
     misc/historic.c
     misc/misc.c
-    misc/stubs.c
-    misc/stubsa.c
-    misc/stubsw.c
     misc/wingl.c
     objects/arc.c
     objects/bitmap.c
     objects/brush.c
+    objects/clientobj.c
+    objects/colorspace.c
     objects/coord.c
     objects/dc.c
     objects/eng.c
     objects/enhmfile.c
     objects/font.c
+    objects/gdiobj.c
     objects/icm.c
     objects/linedda.c
     objects/metafile.c
@@ -42,13 +45,26 @@ list(APPEND SOURCE
     objects/path.c
     include/precomp.h)
 
-add_library(gdi32 SHARED
+add_library(gdi32 MODULE
     ${SOURCE}
     gdi32.rc
     ${CMAKE_CURRENT_BINARY_DIR}/gdi32.def)
 
-set_module_type(gdi32 win32dll ENTRYPOINT DllMain 12 UNICODE)
-target_link_libraries(gdi32 win32ksys dxguid msvcrtex ${PSEH_LIB})
+set_module_type(gdi32 win32dll UNICODE ENTRYPOINT DllMain 12)
+
+target_link_libraries(gdi32
+    winegdi
+    wine
+    win32ksys
+    dxguid
+    atan2
+    ${PSEH_LIB})
+
+if(MSVC AND (ARCH STREQUAL "i386"))
+    target_sources(gdi32 PRIVATE $<TARGET_OBJECTS:ftol2_sse>)
+endif()
+
 add_importlibs(gdi32 user32 advapi32 kernel32 ntdll)
 add_pch(gdi32 include/precomp.h SOURCE)
+add_dependencies(gdi32 psdk)
 add_cd_file(TARGET gdi32 DESTINATION reactos/system32 FOR all)