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