[CMAKE]
[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(
20 ${CMAKE_CURRENT_BINARY_DIR}
21 ${REACTOS_SOURCE_DIR}/include/reactos/wine)
22
23 add_rpcproxy_library(ole32proxy
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}/ole32_stubs.c
69 ${CMAKE_CURRENT_BINARY_DIR}/ole32.def)
70
71 add_library(ole32 SHARED ${SOURCE})
72
73 set_module_type(ole32 win32dll)
74
75 target_link_libraries(ole32
76 ole32proxy
77 wine
78 irotrpc
79 uuid
80 ${PSEH_LIB})
81
82 add_importlibs(ole32 advapi32 user32 gdi32 rpcrt4 msvcrt kernel32 ntdll)
83
84 add_dependencies(ole32 ole32idl)
85 add_cd_file(TARGET ole32 DESTINATION reactos/system32)
86 add_importlib_target(ole32.spec)