[CRT] Massively improve performance of rand_s
[reactos.git] / win32ss / CMakeLists.txt
index ced5403..4f6f7ce 100644 (file)
@@ -1,14 +1,13 @@
 
 set(USE_DIBLIB 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)
 
+if (NATIVE_REACTX)
+    add_definitions(-DNATIVE_REACTX)
+endif()
+
 add_subdirectory(drivers)
 
 if(USE_DIBLIB)
@@ -16,6 +15,7 @@ if(USE_DIBLIB)
 endif()
 
 add_subdirectory(gdi/gdi32)
+add_subdirectory(gdi/gdi32_vista)
 add_subdirectory(printing)
 add_subdirectory(reactx)
 add_subdirectory(user/user32)
@@ -23,6 +23,11 @@ add_subdirectory(user/winsrv)
 
 spec2def(win32k.sys win32k.spec ADD_IMPORTLIB)
 
+# embed RTC libs
+if (STACK_PROTECTOR)
+    target_sources(libwin32k PRIVATE $<TARGET_OBJECTS:gcc_ssp_win32k>)
+endif()
+
 include_directories(
     .
     include
@@ -72,9 +77,12 @@ list(APPEND SOURCE
     gdi/eng/ldevobj.c
     gdi/eng/mapping.c
     gdi/eng/math.c
+    gdi/eng/mdevobj.c
     gdi/eng/mem.c
     gdi/eng/engmisc.c
     gdi/eng/mouse.c
+    gdi/eng/multidisp.c
+    gdi/eng/pandisp.c
     gdi/eng/paint.c
     gdi/eng/pathobj.c
     gdi/eng/pdevobj.c
@@ -141,6 +149,7 @@ list(APPEND SOURCE
     user/ntuser/prop.c
     user/ntuser/scrollbar.c
     user/ntuser/scrollex.c
+    user/ntuser/security.c
     user/ntuser/session.c
     user/ntuser/shutdown.c
     user/ntuser/simplecall.c
@@ -213,6 +222,7 @@ list(APPEND ASM_SOURCE
     gdi/dib/i386/dib32bpp_hline.s
     gdi/dib/i386/dib32bpp_colorfill.s
     gdi/eng/i386/floatobj.S)
+list(APPEND SOURCE gdi/eng/i386/floatobj.c)
 else()
 list(APPEND SOURCE
     gdi/dib/dib24bppc.c
@@ -220,12 +230,13 @@ list(APPEND SOURCE
 endif()
 
 if(KDBG)
+    add_definitions(-DKDBG)
     list(APPEND SOURCE gdi/ntgdi/gdikdbgext.c)
 endif()
 
 add_asm_files(win32k_asm ${ASM_SOURCE})
 
-add_library(win32k SHARED
+add_library(win32k MODULE
     ${SOURCE}
     gdi/ntgdi/brush.cpp
     ${win32k_asm}
@@ -243,8 +254,12 @@ add_importlibs(win32k ntoskrnl hal ftfd)
 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)
+if(ARCH STREQUAL "amd64")
+    set_source_files_properties(sys-stubs.S PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/w32ksvc64.h)
+else()
+    set_source_files_properties(sys-stubs.S PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/w32ksvc32.h)
+endif()
 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
+add_dependencies(win32ksys asm)