[CMAKE] Use modules instead of shared libraries
[reactos.git] / dll / win32 / oleacc / CMakeLists.txt
1
2 add_definitions(
3 -D__WINESRC__
4 -DENTRY_PREFIX=OLEACC_
5 -DPROXY_DELEGATION
6 -DWINE_REGISTER_DLL)
7
8 include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/wine)
9 spec2def(oleacc.dll oleacc.spec ADD_IMPORTLIB)
10
11 list(APPEND SOURCE
12 client.c
13 main.c
14 propservice.c
15 window.c
16 precomp.h
17 ${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c)
18
19 add_idl_headers(oleacc_idlheader oleacc_classes.idl)
20 add_typelib(oleacc_classes.idl)
21 add_rpcproxy_files(oleacc_classes.idl)
22
23 list(APPEND oleacc_rc_deps
24 ${CMAKE_CURRENT_SOURCE_DIR}/oleacc_classes_r.rgs
25 ${CMAKE_CURRENT_SOURCE_DIR}/oleacc_classes_t.rgs
26 ${CMAKE_CURRENT_BINARY_DIR}/oleacc_classes.tlb)
27
28 set_source_files_properties(oleacc.rc PROPERTIES OBJECT_DEPENDS "${oleacc_rc_deps}")
29
30 add_library(oleacc MODULE
31 ${SOURCE}
32 guid.c
33 oleacc.rc
34 ${CMAKE_CURRENT_BINARY_DIR}/oleacc_classes_p.c
35 ${CMAKE_CURRENT_BINARY_DIR}/oleacc_stubs.c
36 ${CMAKE_CURRENT_BINARY_DIR}/oleacc.def)
37
38 add_dependencies(oleacc oleacc_idlheader stdole2)
39 set_module_type(oleacc win32dll)
40 target_link_libraries(oleacc uuid wine ${PSEH_LIB})
41 add_importlibs(oleacc oleaut32 ole32 user32 rpcrt4 msvcrt kernel32 ntdll)
42 add_pch(oleacc precomp.h SOURCE)
43 add_cd_file(TARGET oleacc DESTINATION reactos/system32 FOR all)