xref: /reactos/dll/win32/oleaut32/CMakeLists.txt (revision ea6e7740)
1
2remove_definitions(-D_WIN32_WINNT=0x502)
3add_definitions(-D_WIN32_WINNT=0x600)
4
5add_definitions(
6    -D__WINESRC__
7    -D__ROS_LONG64__
8    -DCOM_NO_WINDOWS_H
9    -D_OLEAUT32_
10    -DPROXY_DELEGATION
11    -DWINE_REGISTER_DLL
12    -DENTRY_PREFIX=OLEAUTPS_
13    -DPROXY_CLSID=CLSID_PSFactoryBuffer)
14
15include_directories(BEFORE ${REACTOS_SOURCE_DIR}/sdk/include/reactos/wine)
16spec2def(oleaut32.dll oleaut32.spec ADD_IMPORTLIB)
17add_rpcproxy_files(oleaut32_oaidl.idl oleaut32_ocidl.idl)
18
19list(APPEND SOURCE
20    connpt.c
21    dispatch.c
22    hash.c
23    oleaut.c
24    olefont.c
25    olepicture.c
26    olepropframe.c
27    recinfo.c
28    safearray.c
29    typelib.c
30    usrmarshal.c
31    varformat.c
32    variant.c
33    vartype.c)
34
35if(MSVC)
36    add_asm_files(oleaut32_asm msvc.S)
37endif()
38
39list(APPEND PCH_SKIP_SOURCE
40    ${CMAKE_CURRENT_BINARY_DIR}/oleaut32_stubs.c
41    ${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c
42    ${CMAKE_CURRENT_BINARY_DIR}/oleaut32_oaidl_p.c
43    ${CMAKE_CURRENT_BINARY_DIR}/oleaut32_ocidl_p.c)
44
45add_library(oleaut32 MODULE
46    ${SOURCE}
47    ${oleaut32_asm}
48    ${PCH_SKIP_SOURCE}
49    oleaut32.rc
50    ${CMAKE_CURRENT_BINARY_DIR}/oleaut32.def)
51
52if(MSVC)
53    # Disable warning C4146: unary minus operator applied to unsigned type, result still unsigned
54    # Disable warning C4267: 'initializing': conversion from 'size_t' to 'BYTE', possible loss of data
55    target_compile_options(oleaut32 PRIVATE /wd4146 /wd4267)
56endif()
57
58add_idl_headers(oleaut32_idlheader oleaut32_oaidl.idl)
59add_dependencies(oleaut32 oleaut32_idlheader)
60set_module_type(oleaut32 win32dll)
61target_link_libraries(oleaut32 wine wineldr uuid ${PSEH_LIB})
62add_delay_importlibs(oleaut32 comctl32 urlmon windowscodecs)
63add_importlibs(oleaut32 ole32 rpcrt4 user32 gdi32 advapi32 kernel32_vista msvcrt kernel32 ntdll)
64add_pch(oleaut32 precomp.h "${PCH_SKIP_SOURCE}")
65add_cd_file(TARGET oleaut32 DESTINATION reactos/system32 FOR all)
66