711182a66852b8cd4a0a609c2f2187d0989a6807
[reactos.git] / reactos / dll / win32 / kernel32 / CMakeLists.txt
1
2 add_definitions(-D_KERNEL32_)
3 include_directories(${REACTOS_SOURCE_DIR}/include/reactos/subsys)
4 spec2def(kernel32.dll kernel32.spec ADD_IMPORTLIB)
5
6 list(APPEND SOURCE
7 client/actctx.c
8 client/appcache.c
9 client/atom.c
10 client/compname.c
11 client/debugger.c
12 client/dosdev.c
13 client/dllmain.c
14 client/environ.c
15 client/except.c
16 client/fiber.c
17 client/handle.c
18 client/heapmem.c
19 client/job.c
20 client/loader.c
21 client/path.c
22 client/perfcnt.c
23 client/power.c
24 client/proc.c
25 client/resntfy.c
26 client/session.c
27 client/synch.c
28 client/sysinfo.c
29 client/time.c
30 client/timerqueue.c
31 client/toolhelp.c
32 client/utils.c
33 client/thread.c
34 client/vdm.c
35 client/version.c
36 client/virtmem.c
37 client/vista.c
38 client/console/alias.c
39 client/console/console.c
40 client/console/history.c
41 client/console/init.c
42 client/console/readwrite.c
43 client/console/vista.c
44 client/file/backup.c
45 client/file/cnotify.c
46 client/file/copy.c
47 client/file/create.c
48 client/file/delete.c
49 client/file/deviceio.c
50 client/file/dir.c
51 client/file/disk.c
52 client/file/fileinfo.c
53 client/file/filemap.c
54 client/file/filename.c
55 client/file/find.c
56 client/file/hardlink.c
57 client/file/iocompl.c
58 client/file/lfile.c
59 client/file/lock.c
60 client/file/mailslot.c
61 client/file/move.c
62 client/file/mntpoint.c
63 client/file/npipe.c
64 client/file/rw.c
65 client/file/tape.c
66 client/file/volume.c
67 wine/actctx.c
68 wine/comm.c
69 wine/lzexpand.c
70 wine/muldiv.c
71 wine/profile.c
72 wine/res.c
73 wine/timezone.c
74 winnls/string/casemap.c
75 winnls/string/collation.c
76 winnls/string/fold.c
77 winnls/string/format_msg.c
78 winnls/string/lang.c
79 winnls/string/lcformat.c
80 winnls/string/lstring.c
81 winnls/string/nls.c
82 winnls/string/sortkey.c
83 k32.h)
84
85 if(ARCH STREQUAL "i386")
86 list(APPEND ASM_SOURCE
87 client/i386/fiber.S
88 client/i386/thread.S)
89 elseif(ARCH STREQUAL "amd64")
90 list(APPEND ASM_SOURCE
91 client/amd64/fiber.S
92 client/amd64/thread.S)
93 endif()
94
95 add_asm_files(kernel32_asm ${ASM_SOURCE})
96 add_library(kernel32 SHARED
97 ${SOURCE}
98 ${kernel32_asm}
99 kernel32.rc
100 ${CMAKE_CURRENT_BINARY_DIR}/kernel32.def)
101
102 set_module_type(kernel32 win32dll HOTPATCHABLE ENTRYPOINT DllMain 12)
103 #############################################
104 ## HACK FOR MSVC COMPILATION WITH win32dll ##
105 set_subsystem(kernel32 console)
106 ################# END HACK #################
107
108 target_link_libraries(kernel32 wine chkstk ${PSEH_LIB})
109 add_importlibs(kernel32 ntdll)
110 add_pch(kernel32 k32.h SOURCE)
111 add_dependencies(kernel32 psdk errcodes asm)
112 add_cd_file(TARGET kernel32 DESTINATION reactos/system32 FOR all)