5 # HACK: this should be enabled globally!
6 add_compile_flags_language("-std=c++11" "CXX")
9 # Give WIN32 subsystem its own project.
12 add_subdirectory(drivers)
15 add_subdirectory(gdi/diblib)
18 add_subdirectory(gdi/gdi32)
19 add_subdirectory(printing)
20 add_subdirectory(reactx)
21 add_subdirectory(user/user32)
22 add_subdirectory(user/winsrv)
24 spec2def(win32k.sys win32k.spec ADD_IMPORTLIB)
29 ${REACTOS_SOURCE_DIR}/ntoskrnl/include
30 ${REACTOS_SOURCE_DIR}/sdk/lib/3rdparty/freetype/include
31 ${REACTOS_SOURCE_DIR}/sdk/include/reactos/subsys
32 ${REACTOS_SOURCE_DIR}/sdk/include/reactos/drivers)
38 file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/gdi/dib)
40 list(APPEND GENDIB_FILES
41 ${CMAKE_CURRENT_BINARY_DIR}/gdi/dib/dib8gen.c
42 ${CMAKE_CURRENT_BINARY_DIR}/gdi/dib/dib16gen.c
43 ${CMAKE_CURRENT_BINARY_DIR}/gdi/dib/dib32gen.c)
46 OUTPUT ${GENDIB_FILES}
47 COMMAND native-gendib ${CMAKE_CURRENT_BINARY_DIR}/gdi/dib
48 DEPENDS native-gendib)
92 user/ntuser/misc/file.c
93 user/ntuser/misc/rtlstr.c
94 user/ntuser/misc/copy.c
95 user/ntuser/misc/registry.c
96 reactx/ntddraw/ddraw.c
98 reactx/ntddraw/ddsurf.c
100 reactx/ntddraw/d3dkmt.c
102 reactx/ntddraw/mocomp.c
104 reactx/ntddraw/dxeng.c
105 user/ntuser/accelerator.c
106 user/ntuser/callback.c
107 user/ntuser/callproc.c
110 user/ntuser/clipboard.c
111 user/ntuser/console.c
113 user/ntuser/cursoricon.c
116 user/ntuser/desktop.c
117 user/ntuser/display.c
122 user/ntuser/guicheck.c
127 user/ntuser/keyboard.c
128 user/ntuser/kbdlayout.c
129 user/ntuser/layered.c
131 user/ntuser/message.c
134 user/ntuser/monitor.c
136 user/ntuser/msgqueue.c
137 user/ntuser/nonclient.c
138 user/ntuser/ntstubs.c
140 user/ntuser/painting.c
142 user/ntuser/scrollbar.c
143 user/ntuser/scrollex.c
144 user/ntuser/session.c
145 user/ntuser/shutdown.c
146 user/ntuser/simplecall.c
147 user/ntuser/sysparams.c
149 user/ntuser/useratom.c
150 user/ntuser/usrheap.c
199 add_definitions(-D_USE_DIBLIB_)
202 gdi/eng/bitblt_new.c)
210 if(ARCH STREQUAL "i386")
211 list(APPEND ASM_SOURCE
212 gdi/dib/i386/dib24bpp_hline.s
213 gdi/dib/i386/dib32bpp_hline.s
214 gdi/dib/i386/dib32bpp_colorfill.s
215 gdi/eng/i386/floatobj.S)
223 list(APPEND SOURCE gdi/ntgdi/gdikdbgext.c)
226 add_asm_files(win32k_asm ${ASM_SOURCE})
228 add_library(win32k MODULE
233 ${CMAKE_CURRENT_BINARY_DIR}/win32k.def)
235 set_module_type(win32k kernelmodedriver)
236 target_link_libraries(win32k ${PSEH_LIB} dxguid libcntpr)
239 target_link_libraries(win32k diblib)
242 add_importlibs(win32k ntoskrnl hal ftfd)
243 add_pch(win32k pch.h SOURCE)
244 add_cd_file(TARGET win32k DESTINATION reactos/system32 FOR all)
246 set_source_files_properties(sys-stubs.S PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/w32ksvc.h)
247 add_asm_files(win32ksys_asm sys-stubs.S)
248 add_library(win32ksys ${win32ksys_asm})
249 set_target_properties(win32ksys PROPERTIES LINKER_LANGUAGE "C")
250 add_dependencies(win32ksys asm)