[CLT2012]
[reactos.git] / dll / win32 / ole32 / CMakeLists.txt
1
2 set_rc_compiler()
3
4 spec2def(ole32.dll ole32.spec)
5 generate_idl_iids(dcom.idl)
6 add_idl_headers(ole32idl dcom.idl irot.idl)
7
8 remove_definitions(-D_WIN32_WINNT=0x502)
9 add_definitions(-D_WIN32_WINNT=0x600)
10
11 add_definitions(
12 -D__WINESRC__
13 -D_OLE32_
14 -DENTRY_PREFIX=OLE32_
15 -DPROXY_CLSID=CLSID_PSFactoryBuffer
16 -DREGISTER_PROXY_DLL
17 -DCOM_NO_WINDOWS_H)
18
19 include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine)
20
21 add_rpc_files(client irot.idl)
22
23 add_rpcproxy_files(
24 dcom.idl
25 ole32_unknwn.idl
26 ole32_objidl.idl
27 ole32_oleidl.idl)
28
29 list(APPEND SOURCE
30 antimoniker.c
31 bindctx.c
32 classmoniker.c
33 clipboard.c
34 comcat.c
35 compobj.c
36 compositemoniker.c
37 datacache.c
38 defaulthandler.c
39 dictionary.c
40 enumx.c
41 errorinfo.c
42 filelockbytes.c
43 filemoniker.c
44 ftmarshal.c
45 git.c
46 hglobalstream.c
47 ifs.c
48 itemmoniker.c
49 marshal.c
50 memlockbytes.c
51 moniker.c
52 ole2.c
53 ole2stubs.c
54 ole2impl.c
55 ole32_main.c
56 oleobj.c
57 oleproxy.c
58 pointermoniker.c
59 regsvr.c
60 rpc.c
61 stg_prop.c
62 stg_stream.c
63 storage32.c
64 stubmanager.c
65 usrmarshal.c
66 ole32res.rc
67 ${CMAKE_CURRENT_BINARY_DIR}/dcom_i.c
68 ${CMAKE_CURRENT_BINARY_DIR}/dcom_p.c
69 ${CMAKE_CURRENT_BINARY_DIR}/irot_c.c
70 ${CMAKE_CURRENT_BINARY_DIR}/ole32_unknwn_p.c
71 ${CMAKE_CURRENT_BINARY_DIR}/ole32_objidl_p.c
72 ${CMAKE_CURRENT_BINARY_DIR}/ole32_oleidl_p.c
73 ${CMAKE_CURRENT_BINARY_DIR}/ole32_stubs.c
74 ${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c
75 ${CMAKE_CURRENT_BINARY_DIR}/ole32.def)
76
77 add_library(ole32 SHARED ${SOURCE})
78
79 set_module_type(ole32 win32dll)
80
81 target_link_libraries(ole32
82 wine
83 uuid
84 ${PSEH_LIB})
85
86 add_importlibs(ole32 advapi32 user32 gdi32 rpcrt4 msvcrt kernel32 ntdll)
87
88 add_dependencies(ole32 ole32idl)
89 add_cd_file(TARGET ole32 DESTINATION reactos/system32 FOR all)
90 add_importlib_target(ole32.spec)