mirror of
https://github.com/reactos/reactos.git
synced 2024-08-23 19:58:25 +00:00
101 lines
2.9 KiB
CMake
101 lines
2.9 KiB
CMake
|
|
remove_definitions(-D_WIN32_WINNT=0x502 -D_CRT_NON_CONFORMING_SWPRINTFS)
|
|
add_definitions(-D_WIN32_WINNT=0x600)
|
|
|
|
include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/wine)
|
|
add_definitions(-D__WINESRC__ -D__ROS_LONG64__ -DMSIRUNMODE=MSIRUNMODE_T)
|
|
spec2def(msi.dll msi.spec ADD_IMPORTLIB)
|
|
generate_idl_iids(msiserver.idl)
|
|
generate_idl_iids(winemsi.idl)
|
|
|
|
list(APPEND SOURCE
|
|
action.c
|
|
alter.c
|
|
appsearch.c
|
|
assembly.c
|
|
automation.c
|
|
classes.c
|
|
create.c
|
|
database.c
|
|
delete.c
|
|
dialog.c
|
|
distinct.c
|
|
drop.c
|
|
files.c
|
|
font.c
|
|
format.c
|
|
handle.c
|
|
insert.c
|
|
install.c
|
|
media.c
|
|
msi.c
|
|
msi_main.c
|
|
msiquery.c
|
|
package.c
|
|
patch.c
|
|
record.c
|
|
registry.c
|
|
script.c
|
|
select.c
|
|
source.c
|
|
storages.c
|
|
streams.c
|
|
string.c
|
|
table.c
|
|
tokenize.c
|
|
update.c
|
|
upgrade.c
|
|
where.c)
|
|
|
|
BISON_TARGET(cond cond.y ${CMAKE_CURRENT_BINARY_DIR}/cond.tab.c)
|
|
BISON_TARGET(sql sql.y ${CMAKE_CURRENT_BINARY_DIR}/sql.tab.c)
|
|
|
|
set(OLD_IDL_FLAGS ${IDL_FLAGS})
|
|
set(IDL_FLAGS ${IDL_FLAGS} --prefix-server=s_)
|
|
add_rpc_files(client winemsi.idl)
|
|
add_rpc_files(server winemsi.idl)
|
|
set(IDL_FLAGS ${OLD_IDL_FLAGS})
|
|
|
|
list(APPEND PCH_SKIP_SOURCE
|
|
custom.c # Need custom defines for WIN32_NO_STATUS
|
|
suminfo.c # The only file without NONAMELESSUNION
|
|
${BISON_cond_OUTPUTS}
|
|
${BISON_sql_OUTPUTS}
|
|
${CMAKE_CURRENT_BINARY_DIR}/msiserver_i.c
|
|
${CMAKE_CURRENT_BINARY_DIR}/winemsi_c.c
|
|
${CMAKE_CURRENT_BINARY_DIR}/winemsi_s.c
|
|
${CMAKE_CURRENT_BINARY_DIR}/msi_stubs.c)
|
|
|
|
add_library(msi MODULE
|
|
${SOURCE}
|
|
${PCH_SKIP_SOURCE}
|
|
msi.rc
|
|
${CMAKE_CURRENT_BINARY_DIR}/msi.def)
|
|
|
|
if(MSVC)
|
|
# Disable warning C4090: 'function': different 'const' qualifiers
|
|
# Disable warning C4133: 'function': incompatible types - from 'UINT *' to 'MSIINSTALLCONTEXT *'
|
|
# Disable warning C4146: unary minus operator applied to unsigned type, result still unsigned
|
|
# Disable warning C4312: 'type cast': conversion from 'unsigned int' to 'HANDLE' of greater size
|
|
target_compile_options(msi PRIVATE /wd4090 /wd4133 /wd4146 /wd4312)
|
|
endif()
|
|
|
|
add_idl_headers(msi_idlheader msiserver.idl winemsi.idl)
|
|
add_typelib(msiserver.idl winemsi.idl)
|
|
set_source_files_properties(msi.rc PROPERTIES OBJECT_DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/msiserver.tlb;${CMAKE_CURRENT_BINARY_DIR}/winemsi.tlb")
|
|
set_module_type(msi win32dll)
|
|
target_link_libraries(msi uuid ${PSEH_LIB} wine_dll_register oldnames)
|
|
add_dependencies(msi msi_idlheader)
|
|
add_delay_importlibs(msi odbccp32 crypt32 wintrust apphelp)
|
|
add_importlibs(msi advapi32 advapi32_vista cabinet comctl32 gdi32 ole32 oleaut32 shell32 shlwapi rpcrt4 urlmon user32 version wininet sxs
|
|
#FIXME : imagehlp, mspatcha should be in delayed imports
|
|
imagehlp
|
|
mspatcha
|
|
msvcrt
|
|
kernel32_vista
|
|
kernel32
|
|
ntdll)
|
|
|
|
add_pch(msi precomp.h "${PCH_SKIP_SOURCE}")
|
|
add_cd_file(TARGET msi DESTINATION reactos/system32 FOR all)
|