[WINTRUST] Sync with Wine Staging 3.3. CORE-14434
[reactos.git] / win32ss / CMakeLists.txt
index e0a8321..edb253b 100644 (file)
@@ -1,6 +1,10 @@
 
 set(USE_DIBLIB FALSE)
-set(USE_NEW_CURSORICON FALSE)
+
+if(NOT MSVC)
+    # HACK: this should be enabled globally!
+    add_compile_flags_language("-std=c++11" "CXX")
+endif()
 
 # Give WIN32 subsystem its own project.
 PROJECT(WIN32SS)
@@ -11,11 +15,8 @@ if(USE_DIBLIB)
     add_subdirectory(gdi/diblib)
 endif()
 
-if(USE_NEW_CURSORICON)
-    add_definitions(-DNEW_CURSORICON)
-endif()
-
 add_subdirectory(gdi/gdi32)
+add_subdirectory(printing)
 add_subdirectory(reactx)
 add_subdirectory(user/user32)
 add_subdirectory(user/winsrv)
@@ -26,9 +27,9 @@ include_directories(
     .
     include
     ${REACTOS_SOURCE_DIR}/ntoskrnl/include
-    ${REACTOS_SOURCE_DIR}/lib/3rdparty/freetype/include
-    ${REACTOS_SOURCE_DIR}/include/reactos/subsys
-    ${REACTOS_SOURCE_DIR}/include/reactos/drivers)
+    ${REACTOS_SOURCE_DIR}/sdk/lib/3rdparty/freetype/include
+    ${REACTOS_SOURCE_DIR}/sdk/include/reactos/subsys
+    ${REACTOS_SOURCE_DIR}/sdk/include/reactos/drivers)
 
 add_definitions(
     -DLANGPACK
@@ -75,6 +76,7 @@ list(APPEND SOURCE
     gdi/eng/engmisc.c
     gdi/eng/mouse.c
     gdi/eng/paint.c
+    gdi/eng/pathobj.c
     gdi/eng/pdevobj.c
     gdi/eng/perfcnt.c
     gdi/eng/rlecomp.c
@@ -95,6 +97,7 @@ list(APPEND SOURCE
     reactx/ntddraw/dd.c
     reactx/ntddraw/ddsurf.c
     reactx/ntddraw/d3d.c
+    reactx/ntddraw/d3dkmt.c
     reactx/ntddraw/dvp.c
     reactx/ntddraw/mocomp.c
     reactx/ntddraw/eng.c
@@ -105,17 +108,24 @@ list(APPEND SOURCE
     user/ntuser/caret.c
     user/ntuser/class.c
     user/ntuser/clipboard.c
+    user/ntuser/console.c
+    user/ntuser/csr.c
+    user/ntuser/cursoricon.c
+    user/ntuser/dde.c
     user/ntuser/defwnd.c
     user/ntuser/desktop.c
     user/ntuser/display.c
+    user/ntuser/draw.c
     user/ntuser/event.c
     user/ntuser/focus.c
     user/ntuser/guicheck.c
     user/ntuser/hook.c
     user/ntuser/hotkey.c
     user/ntuser/input.c
+    user/ntuser/ime.c
     user/ntuser/keyboard.c
     user/ntuser/kbdlayout.c
+    user/ntuser/layered.c
     user/ntuser/menu.c
     user/ntuser/message.c
     user/ntuser/metric.c
@@ -123,12 +133,15 @@ list(APPEND SOURCE
     user/ntuser/monitor.c
     user/ntuser/mouse.c
     user/ntuser/msgqueue.c
+    user/ntuser/nonclient.c
     user/ntuser/ntstubs.c
     user/ntuser/ntuser.c
     user/ntuser/painting.c
     user/ntuser/prop.c
     user/ntuser/scrollbar.c
+    user/ntuser/scrollex.c
     user/ntuser/session.c
+    user/ntuser/shutdown.c
     user/ntuser/simplecall.c
     user/ntuser/sysparams.c
     user/ntuser/timer.c
@@ -140,11 +153,11 @@ list(APPEND SOURCE
     user/ntuser/winpos.c
     user/ntuser/winsta.c
     user/ntuser/object.c
+    user/rtl/text.c
     gdi/ntgdi/arc.c
     gdi/ntgdi/bezier.c
     gdi/ntgdi/bitblt.c
     gdi/ntgdi/bitmaps.c
-    gdi/ntgdi/brush.c
     gdi/ntgdi/cliprgn.c
     gdi/ntgdi/coord.c
     gdi/ntgdi/dcattr.c
@@ -163,6 +176,7 @@ list(APPEND SOURCE
     gdi/ntgdi/gdiobj.c
     gdi/ntgdi/gdipool.c
     gdi/ntgdi/icm.c
+    gdi/ntgdi/init.c
     gdi/ntgdi/line.c
     gdi/ntgdi/metafile.c
     gdi/ntgdi/palette.c
@@ -178,8 +192,7 @@ list(APPEND SOURCE
     gdi/ntgdi/xformobj.c
     gdi/eng/stubs.c
     gdi/eng/umpdstubs.c
-    win32k.rc
-    ${CMAKE_CURRENT_BINARY_DIR}/win32k.def)
+    pch.h)
 
 if(USE_DIBLIB)
     add_definitions(-D_USE_DIBLIB_)
@@ -193,12 +206,6 @@ else()
         ${GENDIB_FILES})
 endif()
 
-if(USE_NEW_CURSORICON)
-    list(APPEND SOURCE user/ntuser/cursoricon_new.c)
-else()
-    list(APPEND SOURCE user/ntuser/cursoricon.c)
-endif()
-
 if(ARCH STREQUAL "i386")
 list(APPEND ASM_SOURCE
     gdi/dib/i386/dib24bpp_hline.s
@@ -212,29 +219,31 @@ list(APPEND SOURCE
 endif()
 
 if(KDBG)
-    list(APPEND SOURCE
-        gdi/ntgdi/gdikdbgext.c)
+    list(APPEND SOURCE gdi/ntgdi/gdikdbgext.c)
 endif()
 
 add_asm_files(win32k_asm ${ASM_SOURCE})
-add_library(win32k SHARED ${SOURCE} ${win32k_asm})
 
-set_module_type(win32k kernelmodedriver)
+add_library(win32k SHARED
+    ${SOURCE}
+    gdi/ntgdi/brush.cpp
+    ${win32k_asm}
+    win32k.rc
+    ${CMAKE_CURRENT_BINARY_DIR}/win32k.def)
 
-target_link_libraries(win32k
-    ${PSEH_LIB}
-    dxguid
-    libcntpr)
+set_module_type(win32k kernelmodedriver)
+target_link_libraries(win32k ${PSEH_LIB} dxguid libcntpr)
 
 if(USE_DIBLIB)
     target_link_libraries(win32k diblib)
 endif()
 
 add_importlibs(win32k ntoskrnl hal ftfd)
-add_pch(win32k pch.h)
+add_pch(win32k pch.h SOURCE)
 add_cd_file(TARGET win32k DESTINATION reactos/system32 FOR all)
 
 set_source_files_properties(sys-stubs.S PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/w32ksvc.h)
 add_asm_files(win32ksys_asm sys-stubs.S)
 add_library(win32ksys ${win32ksys_asm})
 set_target_properties(win32ksys PROPERTIES LINKER_LANGUAGE "C")
+add_dependencies(win32ksys asm)
\ No newline at end of file