Sync with trunk r62754.
[reactos.git] / dll / win32 / msxml3 / CMakeLists.txt
1
2 add_definitions(
3 -D__WINESRC__
4 -D_WINE
5 -DLIBXML_STATIC
6 -DCOM_NO_WINDOWS_H)
7
8 if(MSVC)
9 add_compile_flags("/FIwine/typeof.h /FImsvc.h")
10 endif()
11
12 include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine)
13 spec2def(msxml3.dll msxml3.spec ADD_IMPORTLIB)
14 add_typelib(msxml3_v1.idl)
15
16 list(APPEND SOURCE
17 attribute.c
18 bsc.c
19 cdata.c
20 comment.c
21 dispex.c
22 docfrag.c
23 doctype.c
24 domdoc.c
25 domimpl.c
26 element.c
27 entityref.c
28 httprequest.c
29 main.c
30 mxnamespace.c
31 mxwriter.c
32 node.c
33 nodelist.c
34 nodemap.c
35 parseerror.c
36 pi.c
37 saxreader.c
38 schema.c
39 selection.c
40 stylesheet.c
41 text.c
42 xdr.c
43 xmldoc.c
44 xmlelem.c
45 xmlparser.c
46 xmlview.c
47 xslpattern.tab.c
48 xslpattern.yy.c
49 precomp.h
50 ${CMAKE_CURRENT_BINARY_DIR}/msxml3_stubs.c)
51
52 list(APPEND msxml3_rc_deps
53 ${CMAKE_CURRENT_SOURCE_DIR}/msxml3.manifest
54 ${CMAKE_CURRENT_SOURCE_DIR}/msxml3_v1.rgs
55 ${CMAKE_CURRENT_SOURCE_DIR}/xmlparser.rgs
56 ${CMAKE_CURRENT_BINARY_DIR}/msxml3_v1.tlb)
57
58 set_source_files_properties(version.rc PROPERTIES OBJECT_DEPENDS "${msxml3_rc_deps}")
59
60 add_library(msxml3 SHARED
61 ${SOURCE}
62 factory.c
63 uuid.c
64 version.rc
65 ${CMAKE_CURRENT_BINARY_DIR}/msxml3.def)
66
67 add_idl_headers(xmlparser_idlheader xmlparser.idl)
68 set_module_type(msxml3 win32dll)
69 target_link_libraries(msxml3 libxml2 iconv-static uuid wine)
70 add_importlibs(msxml3 urlmon ws2_32 shlwapi oleaut32 ole32 user32 msvcrt kernel32 ntdll)
71 add_dependencies(msxml3 xmlparser_idlheader stdole2) # msxml3_v1.tlb needs stdole2.tlb
72 add_pch(msxml3 precomp.h SOURCE)
73 add_cd_file(TARGET msxml3 DESTINATION reactos/system32 FOR all)