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