[WIN32K]
[reactos.git] / reactos / subsystems / win32 / win32k / CMakeLists.txt
1
2 spec2def(win32k.sys win32k.spec)
3
4 include_directories(
5 .
6 include
7 ${REACTOS_SOURCE_DIR}/ntoskrnl/include
8 ${REACTOS_SOURCE_DIR}/lib/3rdparty/freetype/include
9 ${REACTOS_SOURCE_DIR}/include/reactos/subsys
10 ${REACTOS_SOURCE_DIR}/include/reactos/drivers)
11
12 add_definitions(
13 -DLANGPACK
14 -D_WIN32K_)
15
16 file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/dib)
17
18 list(APPEND GENDIB_FILES
19 ${CMAKE_CURRENT_BINARY_DIR}/dib/dib8gen.c
20 ${CMAKE_CURRENT_BINARY_DIR}/dib/dib16gen.c
21 ${CMAKE_CURRENT_BINARY_DIR}/dib/dib32gen.c)
22
23 add_custom_command(
24 OUTPUT ${GENDIB_FILES}
25 COMMAND native-gendib ${CMAKE_CURRENT_BINARY_DIR}/dib
26 DEPENDS native-gendib)
27
28 list(APPEND SOURCE
29 dib/alphablend.c
30 dib/dib1bpp.c
31 dib/dib4bpp.c
32 dib/dib8bpp.c
33 dib/dib16bpp.c
34 dib/dib24bpp.c
35 dib/dib32bpp.c
36 dib/dib.c
37 dib/floodfill.c
38 dib/stretchblt.c
39 eng/alphablend.c
40 eng/bitblt.c
41 eng/engbrush.c
42 eng/engevent.c
43 eng/clip.c
44 eng/copybits.c
45 eng/debug.c
46 eng/device.c
47 eng/driverobj.c
48 eng/error.c
49 eng/float.c
50 eng/gradient.c
51 eng/lineto.c
52 eng/ldevobj.c
53 eng/mapping.c
54 eng/mem.c
55 eng/engmisc.c
56 eng/mouse.c
57 eng/paint.c
58 eng/pdevobj.c
59 eng/perfcnt.c
60 eng/rlecomp.c
61 eng/semaphor.c
62 eng/sort.c
63 eng/string.c
64 eng/stretchblt.c
65 eng/surface.c
66 eng/transblt.c
67 eng/engwindow.c
68 eng/xlate.c
69 main/dllmain.c
70 misc/driver.c
71 misc/file.c
72 misc/math.c
73 misc/rtlstr.c
74 misc/copy.c
75 misc/registry.c
76 misc/usrheap.c
77 ntddraw/ddraw.c
78 ntddraw/dd.c
79 ntddraw/ddsurf.c
80 ntddraw/d3d.c
81 ntddraw/dvp.c
82 ntddraw/mocomp.c
83 ntddraw/eng.c
84 ntddraw/dxeng.c
85 ntuser/accelerator.c
86 ntuser/callback.c
87 ntuser/callproc.c
88 ntuser/caret.c
89 ntuser/class.c
90 ntuser/clipboard.c
91 ntuser/csr.c
92 ntuser/cursoricon.c
93 ntuser/defwnd.c
94 ntuser/desktop.c
95 ntuser/display.c
96 ntuser/event.c
97 ntuser/focus.c
98 ntuser/guicheck.c
99 ntuser/hook.c
100 ntuser/hotkey.c
101 ntuser/input.c
102 ntuser/keyboard.c
103 ntuser/kbdlayout.c
104 ntuser/menu.c
105 ntuser/message.c
106 ntuser/metric.c
107 ntuser/misc.c
108 ntuser/monitor.c
109 ntuser/msgqueue.c
110 ntuser/ntstubs.c
111 ntuser/ntuser.c
112 ntuser/painting.c
113 ntuser/prop.c
114 ntuser/scrollbar.c
115 ntuser/session.c
116 ntuser/simplecall.c
117 ntuser/sysparams.c
118 ntuser/timer.c
119 ntuser/useratom.c
120 ntuser/vis.c
121 ntuser/windc.c
122 ntuser/window.c
123 ntuser/winpos.c
124 ntuser/winsta.c
125 ntuser/object.c
126 objects/arc.c
127 objects/bezier.c
128 objects/bitblt.c
129 objects/bitmaps.c
130 objects/brush.c
131 objects/cliprgn.c
132 objects/coord.c
133 objects/dcattr.c
134 objects/dclife.c
135 objects/dcobjs.c
136 objects/dcstate.c
137 objects/dcutil.c
138 objects/device.c
139 objects/dibobj.c
140 objects/drawing.c
141 objects/fillshap.c
142 objects/font.c
143 objects/freetype.c
144 objects/gdibatch.c
145 objects/gdidbg.c
146 objects/gdiobj.c
147 objects/gdipool.c
148 objects/icm.c
149 objects/line.c
150 objects/metafile.c
151 objects/palette.c
152 objects/path.c
153 objects/pen.c
154 objects/polyfill.c
155 objects/print.c
156 objects/rect.c
157 objects/region.c
158 objects/stockobj.c
159 objects/text.c
160 objects/wingl.c
161 objects/xformobj.c
162 stubs/stubs.c
163 stubs/umpdstubs.c
164 win32k.rc)
165
166 list(APPEND SOURCE ${GENDIB_FILES})
167
168 if(ARCH MATCHES i386)
169 list(APPEND SOURCE
170 dib/i386/dib24bpp_hline.s
171 dib/i386/dib32bpp_hline.s
172 dib/i386/dib32bpp_colorfill.s
173 eng/i386/floatobj.S
174 misc/i386/cos_asm.s
175 misc/i386/sin_asm.s
176 misc/i386/atan2_asm.s
177 misc/i386/floor_asm.s
178 misc/i386/ceil_asm.s)
179 else()
180 list(APPEND SOURCE
181 dib/dib24bppc.c
182 dib/dib32bppc.c)
183 endif()
184
185 add_library(win32k SHARED
186 ${CMAKE_CURRENT_BINARY_DIR}/win32k.def
187 ${SOURCE})
188
189 set_module_type(win32k kernelmodedriver)
190
191 target_link_libraries(win32k
192 ${PSEH_LIB}
193 dxguid
194 libcntpr)
195
196 add_importlibs(win32k ntoskrnl hal ftfd)
197 add_pch(win32k pch.h)
198 add_cd_file(TARGET win32k DESTINATION reactos/system32 FOR all)
199 add_importlib_target(win32k.spec)
200
201 add_library(win32ksys sys-stubs.S)
202 set_source_files_properties(sys-stubs.S PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/w32ksvc.h)