[CMAKE]
[reactos.git] / 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
27 list(APPEND SOURCE
28 dib/alphablend.c
29 dib/dib1bpp.c
30 dib/dib4bpp.c
31 dib/dib8bpp.c
32 dib/dib16bpp.c
33 dib/dib24bpp.c
34 dib/dib32bpp.c
35 dib/dib.c
36 dib/floodfill.c
37 dib/stretchblt.c
38 eng/alphablend.c
39 eng/bitblt.c
40 eng/engbrush.c
41 eng/engevent.c
42 eng/clip.c
43 eng/copybits.c
44 eng/debug.c
45 eng/device.c
46 eng/driverobj.c
47 eng/error.c
48 eng/float.c
49 eng/gradient.c
50 eng/lineto.c
51 eng/ldevobj.c
52 eng/mapping.c
53 eng/mem.c
54 eng/engmisc.c
55 eng/mouse.c
56 eng/paint.c
57 eng/pdevobj.c
58 eng/perfcnt.c
59 eng/rlecomp.c
60 eng/semaphor.c
61 eng/sort.c
62 eng/string.c
63 eng/stretchblt.c
64 eng/surface.c
65 eng/transblt.c
66 eng/engwindow.c
67 eng/xlate.c
68 main/dllmain.c
69 misc/driver.c
70 misc/file.c
71 misc/math.c
72 misc/rtlstr.c
73 misc/copy.c
74 misc/registry.c
75 misc/usrheap.c
76 ntddraw/ddraw.c
77 ntddraw/dd.c
78 ntddraw/ddsurf.c
79 ntddraw/d3d.c
80 ntddraw/dvp.c
81 ntddraw/mocomp.c
82 ntddraw/eng.c
83 ntddraw/dxeng.c
84 ntuser/accelerator.c
85 ntuser/callback.c
86 ntuser/callproc.c
87 ntuser/caret.c
88 ntuser/class.c
89 ntuser/clipboard.c
90 ntuser/csr.c
91 ntuser/cursoricon.c
92 ntuser/defwnd.c
93 ntuser/desktop.c
94 ntuser/display.c
95 ntuser/event.c
96 ntuser/focus.c
97 ntuser/guicheck.c
98 ntuser/hook.c
99 ntuser/hotkey.c
100 ntuser/input.c
101 ntuser/keyboard.c
102 ntuser/kbdlayout.c
103 ntuser/menu.c
104 ntuser/message.c
105 ntuser/metric.c
106 ntuser/misc.c
107 ntuser/monitor.c
108 ntuser/msgqueue.c
109 ntuser/ntstubs.c
110 ntuser/ntuser.c
111 ntuser/painting.c
112 ntuser/prop.c
113 ntuser/scrollbar.c
114 ntuser/session.c
115 ntuser/simplecall.c
116 ntuser/sysparams.c
117 ntuser/timer.c
118 ntuser/useratom.c
119 ntuser/vis.c
120 ntuser/windc.c
121 ntuser/window.c
122 ntuser/winpos.c
123 ntuser/winsta.c
124 ntuser/object.c
125 objects/arc.c
126 objects/bezier.c
127 objects/bitblt.c
128 objects/bitmaps.c
129 objects/brush.c
130 objects/cliprgn.c
131 objects/coord.c
132 objects/dcattr.c
133 objects/dclife.c
134 objects/dcobjs.c
135 objects/dcstate.c
136 objects/dcutil.c
137 objects/device.c
138 objects/dibobj.c
139 objects/drawing.c
140 objects/fillshap.c
141 objects/font.c
142 objects/freetype.c
143 objects/gdibatch.c
144 objects/gdidbg.c
145 objects/gdiobj.c
146 objects/gdipool.c
147 objects/icm.c
148 objects/line.c
149 objects/metafile.c
150 objects/palette.c
151 objects/path.c
152 objects/pen.c
153 objects/polyfill.c
154 objects/print.c
155 objects/rect.c
156 objects/region.c
157 objects/stockobj.c
158 objects/text.c
159 objects/wingl.c
160 objects/xformobj.c
161 stubs/stubs.c
162 stubs/umpdstubs.c
163 win32k.rc)
164
165 list(APPEND SOURCE ${GENDIB_FILES})
166
167 if(ARCH MATCHES i386)
168 list(APPEND SOURCE
169 dib/i386/dib24bpp_hline.s
170 dib/i386/dib32bpp_hline.s
171 dib/i386/dib32bpp_colorfill.s
172 eng/i386/floatobj.S
173 misc/i386/cos_asm.s
174 misc/i386/sin_asm.s
175 misc/i386/atan2_asm.s
176 misc/i386/floor_asm.s
177 misc/i386/ceil_asm.s)
178 else()
179 list(APPEND SOURCE
180 dib/dib24bppc.c
181 dib/dib32bppc.c)
182 endif()
183
184 add_library(win32k SHARED
185 ${CMAKE_CURRENT_BINARY_DIR}/win32k_pch.h.gch
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 ${CMAKE_CURRENT_SOURCE_DIR}/pch.h ${SOURCE})
198 add_dependencies(win32k gendib_generated)
199 add_cd_file(TARGET win32k DESTINATION reactos/system32)
200 add_importlib_target(win32k.spec)
201
202 add_library(win32ksys sys-stubs.S)