[LT2013]
[reactos.git] / dll / win32 / ole32 / CMakeLists.txt
1
2 spec2def(ole32.dll ole32.spec ADD_IMPORTLIB)
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 -DCOM_NO_WINDOWS_H
13 -DENTRY_PREFIX=OLE32_
14 -DPROXY_CLSID=CLSID_PSFactoryBuffer
15 -DWINE_REGISTER_DLL)
16
17 include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine)
18
19 add_rpc_files(client irot.idl)
20
21 add_rpcproxy_files(
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 ole2impl.c
52 ole2stubs.c
53 ole32_main.c
54 oleobj.c
55 oleproxy.c
56 pointermoniker.c
57 rpc.c
58 stg_prop.c
59 stg_stream.c
60 storage32.c
61 stubmanager.c
62 usrmarshal.c
63 ole32res.rc
64 ${CMAKE_CURRENT_BINARY_DIR}/dcom_i.c
65 ${CMAKE_CURRENT_BINARY_DIR}/dcom_p.c
66 ${CMAKE_CURRENT_BINARY_DIR}/irot_c.c
67 ${CMAKE_CURRENT_BINARY_DIR}/ole32_unknwn_p.c
68 ${CMAKE_CURRENT_BINARY_DIR}/ole32_objidl_p.c
69 ${CMAKE_CURRENT_BINARY_DIR}/ole32_oleidl_p.c
70 ${CMAKE_CURRENT_BINARY_DIR}/ole32_stubs.c
71 ${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c
72 ${CMAKE_CURRENT_BINARY_DIR}/ole32.def)
73
74 if(MSVC)
75 if(ARCH STREQUAL "i386")
76 list(APPEND SOURCE msvc-thiscall.c)
77 endif()
78 set_source_files_properties(stg_prop.c PROPERTIES COMPILE_FLAGS "/FImsvc.h")
79 endif()
80
81 add_library(ole32 SHARED ${SOURCE})
82 set_module_type(ole32 win32dll)
83 target_link_libraries(ole32 wine uuid ${PSEH_LIB})
84 add_importlibs(ole32 advapi32 user32 gdi32 rpcrt4 msvcrt kernel32 ntdll)
85 add_delay_importlibs(ole32 oleaut32)
86 add_dependencies(ole32 ole32idl)
87 add_cd_file(TARGET ole32 DESTINATION reactos/system32 FOR all)