[MSI]
[reactos.git] / reactos / dll / win32 / msi / CMakeLists.txt
1
2 if(NOT MSVC)
3
4 include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine)
5 add_definitions(-D__WINESRC__ -DMSIRUNMODE=MSIRUNMODE_T)
6
7 remove_definitions(-D_WIN32_WINNT=0x502)
8 add_definitions(-D_WIN32_WINNT=0x600)
9
10 spec2def(msi.dll msi.spec ADD_IMPORTLIB)
11
12 generate_idl_iids(msiserver.idl)
13
14 list(APPEND SOURCE
15 action.c
16 alter.c
17 appsearch.c
18 assembly.c
19 automation.c
20 classes.c
21 cond.tab.c
22 create.c
23 custom.c
24 database.c
25 delete.c
26 dialog.c
27 distinct.c
28 drop.c
29 events.c
30 files.c
31 font.c
32 format.c
33 handle.c
34 insert.c
35 install.c
36 media.c
37 msi.c
38 msi_main.c
39 msiquery.c
40 package.c
41 patch.c
42 record.c
43 registry.c
44 script.c
45 select.c
46 source.c
47 sql.tab.c
48 storages.c
49 streams.c
50 string.c
51 suminfo.c
52 table.c
53 tokenize.c
54 update.c
55 upgrade.c
56 where.c
57 msi.rc
58 ${CMAKE_CURRENT_BINARY_DIR}/msiserver_i.c
59 ${CMAKE_CURRENT_BINARY_DIR}/msi_stubs.c
60 ${CMAKE_CURRENT_BINARY_DIR}/msi.def)
61
62 if(MSVC)
63 set_source_files_properties(custom.c PROPERTIES COMPILE_FLAGS /FImsvchelper.h)
64 endif()
65
66 add_library(msi SHARED ${SOURCE})
67
68 add_idl_headers(msi_idlheader msiserver.idl)
69 add_typelib(msiserver.idl)
70
71 set_source_files_properties(msi.rc PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/msiserver.tlb)
72
73 set_module_type(msi win32dll)
74 target_link_libraries(msi uuid ${PSEH_LIB} wine)
75 add_dependencies(msi msi_idlheader)
76 add_delay_importlibs(msi odbccp32 crypt32 wintrust)
77 add_importlibs(msi
78 advapi32
79 cabinet
80 comctl32
81 gdi32
82 ole32
83 oleaut32
84 shell32
85 shlwapi
86 urlmon
87 user32
88 version
89 wininet
90 #fixme : should be in delayed imports
91 imagehlp
92 msvcrt
93 kernel32
94 ntdll)
95
96 add_pch(msi msipriv.h)
97 add_cd_file(TARGET msi DESTINATION reactos/system32 FOR all)
98
99 endif(NOT MSVC)