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